devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nuno Sa <nuno.sa@analog.com>
To: <linux-iio@vger.kernel.org>, <devicetree@vger.kernel.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
	Michael Hennerich <Michael.Hennerich@analog.com>,
	Jonathan Cameron <jic23@kernel.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>
Subject: [PATCH v4 0/8] iio: add new backend framework
Date: Wed, 20 Dec 2023 16:34:03 +0100	[thread overview]
Message-ID: <20231220-iio-backend-v4-0-998e9148b692@analog.com> (raw)

v1:
 https://lore.kernel.org/linux-iio/20231204144925.4fe9922f@jic23-huawei/T/#m222f5175273b81dbfe40b7f0daffcdc67d6cb8ff

v2:
 https://lore.kernel.org/r/20231208-dev-iio-backend-v2-0-5450951895e1@analog.com

v3:
 https://lore.kernel.org/linux-iio/20231213-dev-iio-backend-v3-0-bb9f12a5c6dc@analog.com/

Changes in v4:
 - Patch 1:
  * Don't make io-backends mandatory.
- Patch 5:
  * Add helper __devm_iio_backend_get();
  * Add new devm_iio_backend_get_optional();
  * Add new devm_iio_backend_get_from_fwnode_lookup();
  * Convert all dev_ logs to plain pr_ logs so we actually use pr_fmt.
- Patch 6:
  * Implement the fallback backend lookput in case
    devm_iio_backend_get_optional() fails;

So the main difference in this series is to still handle 'adi,adc-dev'
in case 'io-backends' is not given. Hence we don't need to make it
mandatory and break dt ABI for the ad9467 bindings. Rob, it would be
nice if you can take a quick a look on it and let me know if there's a
more efficient way of doing things.

Rob also already expressed that he is ok with the dt ABI breakage as long
as it is properly justified in the commit message. Jonathan, we should
see if we keep things as in this version or rollback. Personally I'm not
that "happy" with that devm_iio_backend_get_from_fwnode_lookup() given
the fact that is not really supposed to be used anymore. OTOH, it's small
and simple... So, let me know your preference and I'll go with that :).

This is likely the last version of this series for this year. If things
go well, I plan to start working on the second user of the framework
right in the beginning of the next year...
 
Keeping the block diagram in v3's cover so we don't have to follow links
to check one of the typical setups. 

                                           -------------------------------------------------------
 ------------------                        | -----------         ------------      -------  FPGA |
 |     ADC        |------------------------| | AXI ADC |---------| DMA CORE |------| RAM |       |
 | (Frontend/IIO) | Serial Data (eg: LVDS) | |(backend)|---------|          |------|     |       |
 |                |------------------------| -----------         ------------      -------       |
 ------------------                        -------------------------------------------------------

---
Nuno Sa (7):
      dt-bindings: adc: ad9467: add new io-backend property
      dt-bindings: adc: axi-adc: deprecate 'adi,adc-dev'
      driver: core: allow modifying device_links flags
      iio: buffer-dmaengine: export buffer alloc and free functions
      iio: add the IIO backend framework
      iio: adc: ad9467: convert to backend framework
      iio: adc: adi-axi-adc: move to backend framework

Olivier Moysan (1):
      of: property: add device link support for io-backends

 .../devicetree/bindings/iio/adc/adi,ad9467.yaml    |   4 +
 .../devicetree/bindings/iio/adc/adi,axi-adc.yaml   |   4 +-
 MAINTAINERS                                        |   8 +
 drivers/base/core.c                                |  14 +-
 drivers/iio/Kconfig                                |   5 +
 drivers/iio/Makefile                               |   1 +
 drivers/iio/adc/Kconfig                            |   4 +-
 drivers/iio/adc/ad9467.c                           | 282 ++++++++-----
 drivers/iio/adc/adi-axi-adc.c                      | 381 +++++------------
 drivers/iio/buffer/industrialio-buffer-dmaengine.c |   8 +-
 drivers/iio/industrialio-backend.c                 | 456 +++++++++++++++++++++
 drivers/of/property.c                              |   2 +
 include/linux/iio/adc/adi-axi-adc.h                |  68 ---
 include/linux/iio/backend.h                        |  75 ++++
 include/linux/iio/buffer-dmaengine.h               |   3 +
 15 files changed, 845 insertions(+), 470 deletions(-)
---
base-commit: 2dfef50589aef3b9a2fa2190ae95b328fb664f89
change-id: 20231219-iio-backend-a3dc1a6a7a58
--

Thanks!
- Nuno Sá


             reply	other threads:[~2023-12-20 15:31 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-20 15:34 Nuno Sa [this message]
2023-12-20 15:34 ` [PATCH v4 1/8] dt-bindings: adc: ad9467: add new io-backend property Nuno Sa
2023-12-20 16:56   ` Rob Herring
2023-12-21 17:21     ` Jonathan Cameron
2023-12-21 22:46   ` Rob Herring
2023-12-20 15:34 ` [PATCH v4 2/8] dt-bindings: adc: axi-adc: deprecate 'adi,adc-dev' Nuno Sa
2023-12-21 17:25   ` Jonathan Cameron
2023-12-22  9:07     ` Nuno Sá
2023-12-26 15:55       ` Jonathan Cameron
2023-12-20 15:34 ` [PATCH v4 3/8] driver: core: allow modifying device_links flags Nuno Sa
2023-12-20 15:34 ` [PATCH v4 4/8] of: property: add device link support for io-backends Nuno Sa
2023-12-21 22:47   ` Rob Herring
2024-01-03 21:39   ` David Lechner
2024-01-09 11:23     ` Nuno Sá
2023-12-20 15:34 ` [PATCH v4 5/8] iio: buffer-dmaengine: export buffer alloc and free functions Nuno Sa
2023-12-20 15:34 ` [PATCH v4 6/8] iio: add the IIO backend framework Nuno Sa
2023-12-21 17:44   ` Jonathan Cameron
2023-12-22  9:39     ` Nuno Sá
2023-12-26 15:59       ` Jonathan Cameron
2024-01-09 12:15         ` Nuno Sá
2024-01-10  9:16           ` Jonathan Cameron
2024-01-10 10:37             ` Nuno Sá
2024-01-11 15:07           ` Olivier MOYSAN
2023-12-20 15:34 ` [PATCH v4 7/8] iio: adc: ad9467: convert to " Nuno Sa
2023-12-21 17:52   ` Jonathan Cameron
2023-12-22  9:10     ` Nuno Sá
2023-12-20 15:34 ` [PATCH v4 8/8] iio: adc: adi-axi-adc: move " Nuno Sa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231220-iio-backend-v4-0-998e9148b692@analog.com \
    --to=nuno.sa@analog.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jic23@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=olivier.moysan@foss.st.com \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).