7f83e105bd
[ Upstream commit b73f08bb7fe5a0901646ca5ceaa1e7a2d5ee6293 ] 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@analog.com> Reviewed-by: David Lechner <dlechner@baylibre.com> Link: https://lore.kernel.org/r/20231207-iio-backend-prep-v2-4-a4a33bc4d70e@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
accel | ||
adc | ||
common | ||
dac | ||
frequency | ||
gyro | ||
imu | ||
timer | ||
buffer-dma.h | ||
buffer-dmaengine.h | ||
buffer.h | ||
buffer_impl.h | ||
configfs.h | ||
consumer.h | ||
driver.h | ||
events.h | ||
hw-consumer.h | ||
iio-opaque.h | ||
iio.h | ||
kfifo_buf.h | ||
machine.h | ||
sw_device.h | ||
sw_trigger.h | ||
sysfs.h | ||
trigger.h | ||
trigger_consumer.h | ||
triggered_buffer.h | ||
triggered_event.h | ||
types.h |