On Thu, Dec 7, 2023 at 6:39 AM Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@xxxxxxxxxx> wrote: > > From: Nuno Sa <nuno.sa@xxxxxxxxxx> > > When reading in_voltage_scale we can get something like: > > root@analog:/sys/bus/iio/devices/iio:device2# cat in_voltage_scale > 0.038146 > > However, when reading the available options: > > root@analog:/sys/bus/iio/devices/iio:device2# cat > in_voltage_scale_available > 2000.000000 2100.000006 2200.000007 2300.000008 2400.000009 2500.000010 > > which does not make sense. Moreover, when trying to set a new scale we > get an error because there's no call to __ad9467_get_scale() to give us > values as given when reading in_voltage_scale. Fix it by computing the > available scales during probe and properly pass the list when > .read_available() is called. > > While at it, change to use .read_available() from iio_info. Also note > that to properly fix this, adi-axi-adc.c has to be changed accordingly. > > Fixes: ad6797120238 ("iio: adc: ad9467: add support AD9467 ADC") > Signed-off-by: Nuno Sa <nuno.sa@xxxxxxxxxx> > --- Reviewed-by: David Lechner <dlechner@xxxxxxxxxxxx>