[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8eb80697-e76e-412d-82a9-5a95d4ca4f2a@gmail.com>
Date: Thu, 26 Jun 2025 08:24:41 +0300
From: Matti Vaittinen <mazziesaccount@...il.com>
To: Lothar Rubusch <l.rubusch@...il.com>, jic23@...nel.org,
dlechner@...libre.com, nuno.sa@...log.com, andy@...nel.org
Cc: linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 1/2] iio: adc: ti-adc128s052: add support for
adc121s021
Hi Lothar,
On 25/06/2025 20:02, Lothar Rubusch wrote:
> Add support for the single channel variant(s) of this ADC.
>
> Signed-off-by: Lothar Rubusch <l.rubusch@...il.com>
Thanks for this addition. In principle, this looks good to me but I am
afraid there is another colliding series being worked on:
https://lore.kernel.org/all/20250614091504.575685-3-sbellary@baylibre.com/
Maybe you can align the effort with Sukrut?
What I specifically like (and think is the right thing to do) in
Sukrut's series is replacing the 'adc122s021_channels' -array with
individual structures. In my opinion the array is just unnecessary
complexity and individual structures are simpler.
Other than that, this looks good to me.
Yours,
-- Matti
> ---
> drivers/iio/adc/ti-adc128s052.c | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/ti-adc128s052.c b/drivers/iio/adc/ti-adc128s052.c
> index 1b46a8155803..cf271c39e663 100644
> --- a/drivers/iio/adc/ti-adc128s052.c
> +++ b/drivers/iio/adc/ti-adc128s052.c
> @@ -7,6 +7,7 @@
> * https://www.ti.com/lit/ds/symlink/adc128s052.pdf
> * https://www.ti.com/lit/ds/symlink/adc122s021.pdf
> * https://www.ti.com/lit/ds/symlink/adc124s021.pdf
> + * https://www.ti.com/lit/ds/symlink/adc121s021.pdf
> */
>
> #include <linux/cleanup.h>
> @@ -110,6 +111,10 @@ static const struct iio_chan_spec adc128s052_channels[] = {
> ADC128_VOLTAGE_CHANNEL(7),
> };
>
> +static const struct iio_chan_spec adc121s021_channels[] = {
> + ADC128_VOLTAGE_CHANNEL(0),
> +};
> +
> static const struct iio_chan_spec adc122s021_channels[] = {
> ADC128_VOLTAGE_CHANNEL(0),
> ADC128_VOLTAGE_CHANNEL(1),
> @@ -143,6 +148,10 @@ static const struct adc128_configuration adc128_config[] = {
> .refname = "vdd",
> .other_regulators = &bd79104_regulators,
> .num_other_regulators = 1,
> + }, {
> + .channels = adc121s021_channels,
> + .num_channels = ARRAY_SIZE(adc121s021_channels),
> + .refname = "vref",
> },
> };
I'd love seeing this array split to individual structs.
>
> @@ -207,7 +216,10 @@ static const struct of_device_id adc128_of_match[] = {
> { .compatible = "ti,adc124s051", .data = &adc128_config[2] },
> { .compatible = "ti,adc124s101", .data = &adc128_config[2] },
> { .compatible = "rohm,bd79104", .data = &adc128_config[3] },
> - { }
> + { .compatible = "ti,adc121s021", .data = &adc128_config[4] },
> + { .compatible = "ti,adc121s051", .data = &adc128_config[4] },
> + { .compatible = "ti,adc121s101", .data = &adc128_config[4] },
> + { },
> };
> MODULE_DEVICE_TABLE(of, adc128_of_match);
>
> @@ -220,6 +232,9 @@ static const struct spi_device_id adc128_id[] = {
> { "adc124s051", (kernel_ulong_t)&adc128_config[2] },
> { "adc124s101", (kernel_ulong_t)&adc128_config[2] },
> { "bd79104", (kernel_ulong_t)&adc128_config[3] },
> + { "adc121s021", (kernel_ulong_t)&adc128_config[4] },
> + { "adc121s051", (kernel_ulong_t)&adc128_config[4] },
> + { "adc121s101", (kernel_ulong_t)&adc128_config[4] },
> { }
> };
> MODULE_DEVICE_TABLE(spi, adc128_id);
Powered by blists - more mailing lists