[PATCH 6/8] iio: adc: rzt2h: Prepare for SoCs with different ADC info

From: Prabhakar

Date: Tue Sep 29 2026 - 08:44:15 EST


From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>

Prepare the driver for RZ/V2H(P) support, where the ADC supports 8-bit and
12-bit conversion modes with channel configurations that differ from
RZ/T2H.

Allow each SoC to provide its own IIO info structure and use the
chip-specific configuration when registering the IIO device.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
---
drivers/iio/adc/rzt2h_adc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/adc/rzt2h_adc.c b/drivers/iio/adc/rzt2h_adc.c
index cf34895928f1..26028856b175 100644
--- a/drivers/iio/adc/rzt2h_adc.c
+++ b/drivers/iio/adc/rzt2h_adc.c
@@ -67,6 +67,7 @@ struct rzt2h_adc;
struct rzt2h_adc_chip_info {
const struct iio_chan_spec *chan_template;
int (*sst_to_freq)(struct rzt2h_adc *adc, u8 sst);
+ const struct iio_info *info;
unsigned int num_channels;
u8 features;
};
@@ -760,7 +761,7 @@ static int rzt2h_adc_probe(struct platform_device *pdev)
return ret;

indio_dev->name = "rzt2h-adc";
- indio_dev->info = &rzt2h_adc_iio_info;
+ indio_dev->info = chip_info->info;
indio_dev->modes = INDIO_DIRECT_MODE;
indio_dev->channels = adc->channels;
indio_dev->num_channels = adc->num_channels;
@@ -775,6 +776,7 @@ static int rzt2h_adc_probe(struct platform_device *pdev)
static const struct rzt2h_adc_chip_info rzt2h_adc_info = {
.chan_template = &rzt2h_adc_chan_template,
.sst_to_freq = rzt2h_adc_sst_to_freq,
+ .info = &rzt2h_adc_iio_info,
.num_channels = 16,
.features = RZT2H_ADC_FEATURE_CALIBRATION | RZT2H_ADC_FEATURE_SAMPLE_STATE,
};
--
2.55.0