.../bindings/iio/adc/adi,ad4080.yaml | 53 +++- drivers/iio/adc/ad4080.c | 243 ++++++++++++++---- drivers/iio/industrialio-backend.c | 61 +++-- drivers/spi/spi.c | 69 ++++- include/linux/iio/backend.h | 2 + include/linux/spi/spi.h | 1 + 6 files changed, 350 insertions(+), 79 deletions(-)
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:
- SPI core fix to allow ancillary devices to share parent's chip selects
- New devm_spi_new_ancillary_device() managed helper
- 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
Changes in v4:
- Add Fixes tag for the SPI ancillary CS conflict (patch 1)
- Collect Acked-by/Reviewed-by tags from Nuno Sá
- Drop redundant maxItems from io-backends in dt-bindings since
the items list already constrains the maximum (patch 4)
- Use spi_get_chipselect() instead of device_property_read_u32_array()
for ancillary device chip select lookup (patch 5)
Antoniu Miclaus (5):
spi: allow ancillary devices to share parent's chip selects
spi: add devm_spi_new_ancillary_device()
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 | 243 ++++++++++++++----
drivers/iio/industrialio-backend.c | 61 +++--
drivers/spi/spi.c | 69 ++++-
include/linux/iio/backend.h | 2 +
include/linux/spi/spi.h | 1 +
6 files changed, 350 insertions(+), 79 deletions(-)
--
2.43.0
On Mon, Feb 23, 2026 at 06:20:59PM +0200, Antoniu Miclaus wrote:
> Add support for the AD4880, a dual-channel 20-bit 40MSPS SAR ADC from
> the same family as AD4080.
The following changes since commit 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f:
Linux 7.0-rc1 (2026-02-22 13:18:59 -0800)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git tags/spi-devm-ancilliary
for you to fetch changes up to e02902dd493bf9c9b05353c761737ac514ad7a5c:
spi: add devm_spi_new_ancillary_device() (2026-02-24 17:41:42 +0000)
----------------------------------------------------------------
spi: add devm_spi_new_ancillary_device()
Add a managed version of spi_new_ancillary_device()
----------------------------------------------------------------
Alain Volmat (1):
spi: stm32: fix rx DMA request error handling
Andy Shevchenko (1):
spi: pxa2xx: use min() instead of min_t()
Antoni Pokusinski (1):
spi: omap2-mcspi: add support for 3-wire transfers
Antoniu Miclaus (2):
spi: allow ancillary devices to share parent's chip selects
spi: add devm_spi_new_ancillary_device()
Charles Keepax (1):
spi: cs42l43: Don't support sidecar properties on device tree systems
Cosmin Tanislav (1):
spi: dt-bindings: renesas,rzv2h-rspi: allow multiple DMAs
Krzysztof Kozlowski (1):
spi: stm32: Use NULL instead of 0 for pointer
Patrice Chotard (1):
spi: stm32-ospi: Remove exec_op() callback debug log
Pei Xiao (1):
spi: atcspi200: Remove redundant assignment to .owner
.../bindings/spi/renesas,rzv2h-rspi.yaml | 16 ++++-
drivers/spi/spi-atcspi200.c | 1 -
drivers/spi/spi-cs42l43.c | 4 +-
drivers/spi/spi-omap2-mcspi.c | 17 ++++--
drivers/spi/spi-pxa2xx.c | 11 ++--
drivers/spi/spi-stm32-ospi.c | 5 --
drivers/spi/spi-stm32.c | 10 ++--
drivers/spi/spi.c | 69 ++++++++++++++++++++--
include/linux/spi/spi.h | 1 +
9 files changed, 101 insertions(+), 33 deletions(-)
On Mon, 23 Feb 2026 18:20:59 +0200, Antoniu Miclaus 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.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
Thanks!
[2/5] spi: add devm_spi_new_ancillary_device()
commit: e02902dd493bf9c9b05353c761737ac514ad7a5c
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
On Wed, 25 Feb 2026 19:09:37 +0000 Mark Brown <broonie@kernel.org> wrote: > On Mon, 23 Feb 2026 18:20:59 +0200, Antoniu Miclaus 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. > > > > [...] > > Applied to > > https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next > > Thanks! > > [2/5] spi: add devm_spi_new_ancillary_device() > commit: e02902dd493bf9c9b05353c761737ac514ad7a5c Hi Mark, Can I have an immutable branch for this so I can merge it into IIO once the rest of the series is good to go? Thanks Jonathan > > All being well this means that it will be integrated into the linux-next > tree (usually sometime in the next 24 hours) and sent to Linus during > the next merge window (or sooner if it is a bug fix), however if > problems are discovered then the patch may be dropped or reverted. > > You may get further e-mails resulting from automated or manual testing > and review of the tree, please engage with people reporting problems and > send followup patches addressing any issues that are reported if needed. > > If any updates are required or you are submitting further changes they > should be sent as incremental updates against current git, existing > patches will not be replaced. > > Please add any relevant lists and maintainers to the CCs when replying > to this mail. > > Thanks, > Mark >
© 2016 - 2026 Red Hat, Inc.