From: Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org>
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>,
Rob Herring <robh@kernel.org>
Subject: [PATCH v5 0/8] iio: add new backend framework
Date: Fri, 12 Jan 2024 17:40:14 +0100 [thread overview]
Message-ID: <20240112-iio-backend-v5-0-bdecad041ab4@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/
v4:
https://lore.kernel.org/r/20231220-iio-backend-v4-0-998e9148b692@analog.com
Changes in v5:
- Patch 2
* Update commit subject and message;
* Add '#io-backends-cells' property.
- Patch 4
* Also support '#io-backends-cells'.
- Patch 6
* Improve Kconfig help message;
* Only use device_links to control backends access. With this, we can remove
all the mutex + sync logic as we are now guaranteed that a frontend cannot
be up and running if one of the backends is gone.
* Error out if we can't create the device_link (so we can guarantee the above).
* Improve docs for __devm_iio_backend_get_from_fwnode_lookup();
* Add a __ prefix to devm_iio_backend_get_from_fwnode_lookup() so it's clear
that API should not be used (or used with care);
* Drop devm_iio_backend_get_optional();
* remove unneeded headers.
- Patch 7
* Handle the optional backend in the driver.
The biggest difference is that the backend @ops pointer handling to
reason about the backend existence is gone. Now, we rely on device_links
as that makes sure all consumers (in the link) are unbound before the
provider. Hence, the frontend is guaranteed to be unbound if any of the
backends is gone. That simplifies things a lot...
Keeping the block diagram 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: update bindings for backend framework
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 | 7 +-
MAINTAINERS | 8 +
drivers/base/core.c | 14 +-
drivers/iio/Kconfig | 9 +
drivers/iio/Makefile | 1 +
drivers/iio/adc/Kconfig | 4 +-
drivers/iio/adc/ad9467.c | 283 +++++++++-----
drivers/iio/adc/adi-axi-adc.c | 381 +++++--------------
drivers/iio/buffer/industrialio-buffer-dmaengine.c | 8 +-
drivers/iio/industrialio-backend.c | 411 +++++++++++++++++++++
drivers/of/property.c | 2 +
include/linux/iio/adc/adi-axi-adc.h | 68 ----
include/linux/iio/backend.h | 73 ++++
include/linux/iio/buffer-dmaengine.h | 3 +
15 files changed, 806 insertions(+), 470 deletions(-)
---
base-commit: 3f4525f924e21d4f532517b17a20ffa5df7c0db7
change-id: 20231219-iio-backend-a3dc1a6a7a58
--
Thanks!
- Nuno Sá
next reply other threads:[~2024-01-12 16:40 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-12 16:40 Nuno Sa via B4 Relay [this message]
2024-01-12 16:40 ` [PATCH v5 1/8] dt-bindings: adc: ad9467: add new io-backend property Nuno Sa via B4 Relay
2024-01-12 16:40 ` [PATCH v5 2/8] dt-bindings: adc: axi-adc: update bindings for backend framework Nuno Sa via B4 Relay
2024-01-12 20:42 ` Rob Herring
2024-01-12 16:40 ` [PATCH v5 3/8] driver: core: allow modifying device_links flags Nuno Sa via B4 Relay
2024-01-12 16:40 ` [PATCH v5 4/8] of: property: add device link support for io-backends Nuno Sa via B4 Relay
2024-01-12 16:40 ` [PATCH v5 5/8] iio: buffer-dmaengine: export buffer alloc and free functions Nuno Sa via B4 Relay
2024-01-12 16:40 ` [PATCH v5 6/8] iio: add the IIO backend framework Nuno Sa via B4 Relay
2024-01-13 17:22 ` Jonathan Cameron
2024-01-15 10:12 ` Nuno Sá
2024-01-12 16:40 ` [PATCH v5 7/8] iio: adc: ad9467: convert to " Nuno Sa via B4 Relay
2024-01-12 17:33 ` Jonathan Cameron
2024-01-15 10:08 ` Nuno Sá
2024-01-15 16:07 ` Jonathan Cameron
2024-01-12 16:40 ` [PATCH v5 8/8] iio: adc: adi-axi-adc: move " Nuno Sa via B4 Relay
2024-01-12 17:39 ` Jonathan Cameron
2024-01-15 10:10 ` Nuno Sá
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=20240112-iio-backend-v5-0-bdecad041ab4@analog.com \
--to=devnull+nuno.sa.analog.com@kernel.org \
--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=nuno.sa@analog.com \
--cc=olivier.moysan@foss.st.com \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.org \
--cc=robh@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).