Re: [PATCH v5 0/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC

From: Jonathan Cameron

Date: Sat Mar 14 2026 - 07:37:15 EST


On Thu, 5 Mar 2026 13:37:26 +0200
Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> wrote:

> Add support for the AD4880, a dual-channel 20-bit 40MSPS SAR ADC from
> the same family as AD4080.
>
> The AD4880 has two independent ADC channels, each with its own SPI
> configuration interface and LVDS data output. The driver uses
> spi_new_ancillary_device() for the second channel's SPI and requires
> two io-backend instances for the data interfaces.
>
> This series includes:
> - Use __free(fwnode_handle) for automatic cleanup in iio backend
> - Refactored devm_iio_backend_get_by_index() for multi-channel backend lookup
> - DT bindings update for AD4880
> - Driver support for AD4880
>
> Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/ad4880.pdf

Series applied with that ordering tweak in the new backend function patch.
Note that this crossed with a new device being added to the driver
and so it took a fair bit of conflict resolution. Please check I didn't mess
it up.

Applied and pushed out as testing (subject to exiting a tunnel under London ;)

Thanks,

Jonathan

>
> Changes in v5:
> - Drop the SPI patches (already applied)
> - Split the __free(fwnode_handle) cleanup into a separate patch (patch 1)
> - Fix "Get's" -> "Gets" typo in devm_iio_backend_get_by_index()
> kernel-doc (patch 2)
> - Declare loop variables in for-loop initializers (patch 4)
> - Drop redundant num_channels > 1 guard around ancillary device
> setup loop (patch 4)
>
> Antoniu Miclaus (4):
> iio: backend: use __free(fwnode_handle) for automatic cleanup
> iio: backend: add devm_iio_backend_get_by_index()
> dt-bindings: iio: adc: ad4080: add AD4880 support
> iio: adc: ad4080: add support for AD4880 dual-channel ADC
>
> .../bindings/iio/adc/adi,ad4080.yaml | 53 +++-
> drivers/iio/adc/ad4080.c | 230 ++++++++++++++----
> drivers/iio/industrialio-backend.c | 62 +++--
> include/linux/iio/backend.h | 2 +
> 4 files changed, 278 insertions(+), 69 deletions(-)
>