iio: adc: ad7606: drop ch param from ad7606_scale_setup_cb_t
authorDavid Lechner <dlechner@baylibre.com>
Tue, 18 Mar 2025 22:52:16 +0000 (17:52 -0500)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 22 Apr 2025 18:09:54 +0000 (19:09 +0100)
Drop the ch parameter from the ad7606_scale_setup_cb_t functions. The
same info is already available from the chan param via chan->scan_type
and chan->channel, so the parameter is redundant.

Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250318-iio-adc-ad7606-improvements-v2-8-4b605427774c@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad7606.c
drivers/iio/adc/ad7606.h

index 826685b..b7c3eb9 100644 (file)
@@ -182,17 +182,17 @@ static const struct iio_chan_spec ad7616_channels[] = {
 };
 
 static int ad7606c_18bit_chan_scale_setup(struct iio_dev *indio_dev,
-                                         struct iio_chan_spec *chan, int ch);
+                                         struct iio_chan_spec *chan);
 static int ad7606c_16bit_chan_scale_setup(struct iio_dev *indio_dev,
-                                         struct iio_chan_spec *chan, int ch);
+                                         struct iio_chan_spec *chan);
 static int ad7606_16bit_chan_scale_setup(struct iio_dev *indio_dev,
-                                        struct iio_chan_spec *chan, int ch);
+                                        struct iio_chan_spec *chan);
 static int ad7607_chan_scale_setup(struct iio_dev *indio_dev,
-                                  struct iio_chan_spec *chan, int ch);
+                                  struct iio_chan_spec *chan);
 static int ad7608_chan_scale_setup(struct iio_dev *indio_dev,
-                                  struct iio_chan_spec *chan, int ch);
+                                  struct iio_chan_spec *chan);
 static int ad7609_chan_scale_setup(struct iio_dev *indio_dev,
-                                  struct iio_chan_spec *chan, int ch);
+                                  struct iio_chan_spec *chan);
 static int ad7616_sw_mode_setup(struct iio_dev *indio_dev);
 static int ad7606b_sw_mode_setup(struct iio_dev *indio_dev);
 
@@ -346,10 +346,10 @@ int ad7606_reset(struct ad7606_state *st)
 EXPORT_SYMBOL_NS_GPL(ad7606_reset, "IIO_AD7606");
 
 static int ad7606_16bit_chan_scale_setup(struct iio_dev *indio_dev,
-                                        struct iio_chan_spec *chan, int ch)
+                                        struct iio_chan_spec *chan)
 {
        struct ad7606_state *st = iio_priv(indio_dev);
-       struct ad7606_chan_scale *cs = &st->chan_scales[ch];
+       struct ad7606_chan_scale *cs = &st->chan_scales[chan->scan_index];
 
        if (!st->sw_mode_en) {
                /* tied to logic low, analog input range is +/- 5V */
@@ -425,10 +425,10 @@ static int ad7606_get_chan_config(struct iio_dev *indio_dev, int ch,
 }
 
 static int ad7606c_18bit_chan_scale_setup(struct iio_dev *indio_dev,
-                                         struct iio_chan_spec *chan, int ch)
+                                         struct iio_chan_spec *chan)
 {
        struct ad7606_state *st = iio_priv(indio_dev);
-       struct ad7606_chan_scale *cs = &st->chan_scales[ch];
+       struct ad7606_chan_scale *cs = &st->chan_scales[chan->scan_index];
        bool bipolar, differential;
        int ret;
 
@@ -439,7 +439,8 @@ static int ad7606c_18bit_chan_scale_setup(struct iio_dev *indio_dev,
                return 0;
        }
 
-       ret = ad7606_get_chan_config(indio_dev, ch, &bipolar, &differential);
+       ret = ad7606_get_chan_config(indio_dev, chan->scan_index, &bipolar,
+                                    &differential);
        if (ret)
                return ret;
 
@@ -482,10 +483,10 @@ static int ad7606c_18bit_chan_scale_setup(struct iio_dev *indio_dev,
 }
 
 static int ad7606c_16bit_chan_scale_setup(struct iio_dev *indio_dev,
-                                         struct iio_chan_spec *chan, int ch)
+                                         struct iio_chan_spec *chan)
 {
        struct ad7606_state *st = iio_priv(indio_dev);
-       struct ad7606_chan_scale *cs = &st->chan_scales[ch];
+       struct ad7606_chan_scale *cs = &st->chan_scales[chan->scan_index];
        bool bipolar, differential;
        int ret;
 
@@ -496,7 +497,8 @@ static int ad7606c_16bit_chan_scale_setup(struct iio_dev *indio_dev,
                return 0;
        }
 
-       ret = ad7606_get_chan_config(indio_dev, ch, &bipolar, &differential);
+       ret = ad7606_get_chan_config(indio_dev, chan->scan_index, &bipolar,
+                                    &differential);
        if (ret)
                return ret;
 
@@ -540,10 +542,10 @@ static int ad7606c_16bit_chan_scale_setup(struct iio_dev *indio_dev,
 }
 
 static int ad7607_chan_scale_setup(struct iio_dev *indio_dev,
-                                  struct iio_chan_spec *chan, int ch)
+                                  struct iio_chan_spec *chan)
 {
        struct ad7606_state *st = iio_priv(indio_dev);
-       struct ad7606_chan_scale *cs = &st->chan_scales[ch];
+       struct ad7606_chan_scale *cs = &st->chan_scales[chan->scan_index];
 
        cs->range = 0;
        cs->scale_avail = ad7607_hw_scale_avail;
@@ -552,10 +554,10 @@ static int ad7607_chan_scale_setup(struct iio_dev *indio_dev,
 }
 
 static int ad7608_chan_scale_setup(struct iio_dev *indio_dev,
-                                  struct iio_chan_spec *chan, int ch)
+                                  struct iio_chan_spec *chan)
 {
        struct ad7606_state *st = iio_priv(indio_dev);
-       struct ad7606_chan_scale *cs = &st->chan_scales[ch];
+       struct ad7606_chan_scale *cs = &st->chan_scales[chan->scan_index];
 
        cs->range = 0;
        cs->scale_avail = ad7606_18bit_hw_scale_avail;
@@ -564,10 +566,10 @@ static int ad7608_chan_scale_setup(struct iio_dev *indio_dev,
 }
 
 static int ad7609_chan_scale_setup(struct iio_dev *indio_dev,
-                                  struct iio_chan_spec *chan, int ch)
+                                  struct iio_chan_spec *chan)
 {
        struct ad7606_state *st = iio_priv(indio_dev);
-       struct ad7606_chan_scale *cs = &st->chan_scales[ch];
+       struct ad7606_chan_scale *cs = &st->chan_scales[chan->scan_index];
 
        cs->range = 0;
        cs->scale_avail = ad7609_hw_scale_avail;
@@ -1300,7 +1302,7 @@ static int ad7606_chan_scales_setup(struct iio_dev *indio_dev)
        indio_dev->channels = chans;
 
        for (ch = 0; ch < st->chip_info->num_adc_channels; ch++) {
-               ret = st->chip_info->scale_setup_cb(indio_dev, &chans[ch + offset], ch);
+               ret = st->chip_info->scale_setup_cb(indio_dev, &chans[ch + offset]);
                if (ret)
                        return ret;
        }
index 16a230a..c57a193 100644 (file)
 struct ad7606_state;
 
 typedef int (*ad7606_scale_setup_cb_t)(struct iio_dev *indio_dev,
-                                      struct iio_chan_spec *chan, int ch);
+                                      struct iio_chan_spec *chan);
 typedef int (*ad7606_sw_setup_cb_t)(struct iio_dev *indio_dev);
 
 /**