summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Schmitt <marcelo.schmitt@analog.com>2025-09-18 14:37:27 -0300
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2025-10-13 08:38:08 +0100
commitffc74ad539136ae9e16f7b5f2e4582e88018cd49 (patch)
treea1b9e2823546f24932b79d92e9a6b46e19299fc7
parent3a8660878839faadb4f1a6dd72c3179c1df56787 (diff)
iio: adc: ad4030: Fix _scale value for common-mode channels
Previously, the driver always used the amount of precision bits of differential input channels to provide the scale to mV. Though, differential and common-mode voltage channels have different amount of precision bits and the correct number of precision bits must be considered to get to a proper mV scale factor for each one. Use channel specific number of precision bits to provide the correct scale value for each channel. Fixes: de67f28abe58 ("iio: adc: ad4030: check scan_type for error") Fixes: 949abd1ca5a4 ("iio: adc: ad4030: add averaging support") Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com> Reviewed-by: David Lechner <dlechner@baylibre.com> Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-rw-r--r--drivers/iio/adc/ad4030.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iio/adc/ad4030.c b/drivers/iio/adc/ad4030.c
index 1bc2f9a22470..d8bee6a4215a 100644
--- a/drivers/iio/adc/ad4030.c
+++ b/drivers/iio/adc/ad4030.c
@@ -385,7 +385,7 @@ static int ad4030_get_chan_scale(struct iio_dev *indio_dev,
struct ad4030_state *st = iio_priv(indio_dev);
const struct iio_scan_type *scan_type;
- scan_type = iio_get_current_scan_type(indio_dev, st->chip->channels);
+ scan_type = iio_get_current_scan_type(indio_dev, chan);
if (IS_ERR(scan_type))
return PTR_ERR(scan_type);