Re: [PATCH v5 2/7] iio: adc: ad7380: new driver for AD7380 ADCs

From: Jonathan Cameron
Date: Sun Mar 24 2024 - 08:42:26 EST


On Tue, 19 Mar 2024 11:11:23 +0100
Julien Stephan <jstephan@xxxxxxxxxxxx> wrote:

> From: David Lechner <dlechner@xxxxxxxxxxxx>
>
> This adds a new driver for the AD7380 family ADCs.
>
> The driver currently implements basic support for the AD7380, AD7381,
> 2-channel differential ADCs. Support for additional single-ended,
> pseudo-differential and 4-channel chips that use the same register map
> as well as additional features of the chip will be added in future patches.
>
> Co-developed-by: Stefan Popa <stefan.popa@xxxxxxxxxx>
> Signed-off-by: Stefan Popa <stefan.popa@xxxxxxxxxx>
> Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx>
> Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
> [Julien Stephan: add datasheet links of supported parts]
> [Julien Stephan: fix rx/tx buffer for regmap access]
> Signed-off-by: Julien Stephan <jstephan@xxxxxxxxxxxx>
Looks good to me. One unrelated comment inline.

Jonathan

> ---
> MAINTAINERS | 1 +
> drivers/iio/adc/Kconfig | 16 ++
> drivers/iio/adc/Makefile | 1 +
> drivers/iio/adc/ad7380.c | 447 +++++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 465 insertions(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f7c512f3bbda..2277870853c7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -435,6 +435,7 @@ S: Supported
> W: https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad738x
> W: https://ez.analog.com/linux-software-drivers
> F: Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml
> +F: drivers/iio/adc/ad7380.c
>
> AD7877 TOUCHSCREEN DRIVER
> M: Michael Hennerich <michael.hennerich@xxxxxxxxxx>
> diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
> index 8db68b80b391..631386b037ae 100644
> --- a/drivers/iio/adc/Kconfig
> +++ b/drivers/iio/adc/Kconfig
> @@ -155,6 +155,22 @@ config AD7298
> To compile this driver as a module, choose M here: the
> module will be called ad7298.
>
> +config AD7380
> + tristate "Analog Devices AD7380 ADC driver"
> + depends on SPI_MASTER
> + select IIO_BUFFER
> + select IIO_TRIGGER
> + select IIO_TRIGGERED_BUFFER
> + help
> + AD7380 is a family of simultaneous sampling ADCs that share the same
> + SPI register map and have similar pinouts.
> +
> + Say yes here to build support for Analog Devices AD7380 ADC and
> + similar chips.
> +
> + To compile this driver as a module, choose M here: the module will be
> + called ad7380.
> +
> config AD7476
> tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD and TI"
> depends on SPI
> diff --git a/drivers/iio/adc/Makefile b/drivers/iio/adc/Makefile
> index edb32ce2af02..bd3cbbb178fa 100644
> --- a/drivers/iio/adc/Makefile
> +++ b/drivers/iio/adc/Makefile
> @@ -19,6 +19,7 @@ obj-$(CONFIG_AD7291) += ad7291.o
> obj-$(CONFIG_AD7292) += ad7292.o
> obj-$(CONFIG_AD7298) += ad7298.o
> obj-$(CONFIG_AD7923) += ad7923.o

Oops these clearly got out of order a long time ago.
We should fix that up but nothing to do with this series.

> +obj-$(CONFIG_AD7380) += ad7380.o
> obj-$(CONFIG_AD7476) += ad7476.o
> obj-$(CONFIG_AD7606_IFACE_PARALLEL) += ad7606_par.o
> obj-$(CONFIG_AD7606_IFACE_SPI) += ad7606_spi.o