08715e4fa5
[ 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:
|
||
---|---|---|
.. | ||
accel | ||
adc | ||
afe | ||
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 |