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@xxxxxxxxxx v3: https://lore.kernel.org/linux-iio/20231213-dev-iio-backend-v3-0-bb9f12a5c6dc@xxxxxxxxxx/ v4: https://lore.kernel.org/r/20231220-iio-backend-v4-0-998e9148b692@xxxxxxxxxx v5: https://lore.kernel.org/r/20240112-iio-backend-v5-0-bdecad041ab4@xxxxxxxxxx v6: https://lore.kernel.org/r/20240119-iio-backend-v6-0-189536c35a05@xxxxxxxxxx v7 https://lore.kernel.org/r/20240123-iio-backend-v7-0-1bff236b8693@xxxxxxxxxx v8: https://lore.kernel.org/r/20240202-iio-backend-v8-0-f65ee8c8203d@xxxxxxxxxx Changes in v9: - Patch 2 * io-backends-cells > io-backend-cells in both the property and example; * Add proper ':' termination. - Patch 5 * Adapted Copyright (2024 included); * Added missing headers; * Changed log pr_* to dev_*; * Allocate first struct iio_backend_buffer_pair and error out in failure (before we could be left with a buffer and not freeing it); * Fixed io-backends-names > io-backend-names; * Reworked getting the index when 'name' is given as suggested by Andy. * Turned dev_dbg() -> dev_err() after fwnode_find_reference() as the optional get was dropped; * Used cleanup.h everywhere for consistency. Jonathan, the series is based on next-20240202 since it already includes the io-channels fix Rob applied in his tree. I guess it should land in rc3 so after you rebase, all patches should apply cleanly (if applying them of course :)). Let me know if anything fails... (also dropped the devlink Reviewers from the Cc list as that patch was dropped). 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 (6): dt-bindings: adc: ad9467: add new io-backend property dt-bindings: adc: axi-adc: update bindings for backend framework 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 | 8 +- MAINTAINERS | 8 + drivers/iio/Kconfig | 9 + drivers/iio/Makefile | 1 + drivers/iio/adc/Kconfig | 4 +- drivers/iio/adc/ad9467.c | 268 ++++++++----- drivers/iio/adc/adi-axi-adc.c | 379 +++++-------------- drivers/iio/buffer/industrialio-buffer-dmaengine.c | 8 +- drivers/iio/industrialio-backend.c | 414 +++++++++++++++++++++ drivers/of/property.c | 2 + include/linux/iio/adc/adi-axi-adc.h | 68 ---- include/linux/iio/backend.h | 72 ++++ include/linux/iio/buffer-dmaengine.h | 3 + 14 files changed, 795 insertions(+), 453 deletions(-) --- base-commit: 076d56d74f17e625b3d63cf4743b3d7d02180379 change-id: 20231219-iio-backend-a3dc1a6a7a58 -- Thanks! - Nuno Sá