Re: [PATCH v3 03/10] iio: adc: ad7606: fix wrong scale available

From: Jonathan Cameron
Date: Sat Feb 01 2025 - 07:57:45 EST


On Wed, 29 Jan 2025 12:03:04 +0100
Angelo Dureghello <adureghello@xxxxxxxxxxxx> wrote:

> From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
>
> Fix wrong scale available list since only one value is returned:
>
> ...
> iio:device1: ad7606b (buffer capable)
> 8 channels found:
> voltage0: (input, index: 0, format: le:S16/16>>0)
> 2 channel-specific attributes found:
> attr 0: scale value: 0.305176
> attr 1: scale_available value: 0.076293
> Fix as:
> voltage0: (input, index: 0, format: le:S16/16>>0)
> 2 channel-specific attributes found:
> attr 0: scale value: 0.305176
> attr 1: scale_available value: 0.076293 0.152588 0.305176
>
> Fixes: 97c6d857041d ("iio: adc: ad7606: rework scale-available to be static")
> Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
Applied to the fixes-togreg branch of iio.git

Thanks,

Jonathan

> ---
> drivers/iio/adc/ad7606.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/ad7606.c b/drivers/iio/adc/ad7606.c
> index d8e3c7a43678..d39354afd539 100644
> --- a/drivers/iio/adc/ad7606.c
> +++ b/drivers/iio/adc/ad7606.c
> @@ -1047,7 +1047,7 @@ static int ad7606_read_avail(struct iio_dev *indio_dev,
>
> cs = &st->chan_scales[ch];
> *vals = (int *)cs->scale_avail;
> - *length = cs->num_scales;
> + *length = cs->num_scales * 2;
> *type = IIO_VAL_INT_PLUS_MICRO;
>
> return IIO_AVAIL_LIST;
>