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 Changes in v7: - Patch 1 * New patch. - Patch 3 * Added Rob's tag. - Patch 5 * Renamed '#io-backends-cells' -> '#io-backend-cells'. - Patch 8 * Added a statement in the commit message about the ABI breakage; * Used local info variables in a couple of forgotten places. Rob, I was thinking in sending a different patch for the io-channels fix but then I changed my mind and included it in this series as it is then easier to apply the io-backends patch on top of it. If you prefer for me to send that patch alone, I'll do so. 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 (8): of: property: fix typo in io-channels 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 | 8 +- 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 | 268 +++++++++----- drivers/iio/adc/adi-axi-adc.c | 383 +++++-------------- drivers/iio/buffer/industrialio-buffer-dmaengine.c | 8 +- drivers/iio/industrialio-backend.c | 412 +++++++++++++++++++++ drivers/of/property.c | 4 +- include/linux/iio/adc/adi-axi-adc.h | 68 ---- include/linux/iio/backend.h | 72 ++++ include/linux/iio/buffer-dmaengine.h | 3 + 15 files changed, 805 insertions(+), 461 deletions(-) --- base-commit: 824adc9cc314be065db726e30fae876c87660775 change-id: 20231219-iio-backend-a3dc1a6a7a58 -- Thanks! - Nuno Sá