linux-imx/include/linux/iio
Nuno Sa 2c664df0b2 iio: adc: ad9467: fix scale setting
[ Upstream commit b73f08bb7f ]

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: ad67971202 ("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>
2024-01-25 15:35:52 -08:00
..
accel
adc iio: adc: ad9467: fix scale setting 2024-01-25 15:35:52 -08:00
afe iio: afe: rescale: add offset support 2022-02-27 13:38:10 +00:00
common iio: make invensense timestamp module generic 2023-07-20 19:21:28 +01:00
dac dt-bindings:iio:dac: update microchip,mcp4725.yaml reference 2021-04-07 08:36:38 +01:00
frequency
gyro iio: gyro: itg3200_core: do not use internal iio_dev lock 2022-11-23 19:43:58 +00:00
imu iio: imu: adis: Remove adis_initial_startup function 2022-11-23 20:37:51 +00:00
timer
buffer_impl.h iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
buffer-dma.h iio: buffer-dma: Remove unused iio_buffer_block struct 2021-11-27 15:12:01 +00:00
buffer-dmaengine.h iio: buffer-dma,adi-axi-adc: introduce devm_iio_dmaengine_buffer_setup() 2021-03-11 20:47:02 +00:00
buffer.h iio: Add output buffer support 2021-10-19 08:30:44 +01:00
configfs.h
consumer.h iio: inkern: Add a helper to query an available minimum raw value 2023-07-09 22:48:17 +01:00
driver.h iio: inkern: introduce devm_iio_map_array_register() short-hand function 2021-10-19 08:27:34 +01:00
events.h
hw-consumer.h
iio-gts-helper.h iio: fix doc for iio_gts_find_sel_by_int_time 2023-05-13 17:54:57 +01:00
iio-opaque.h iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00
iio.h Char/Misc and other driver subsystem updates for 6.5-rc1 2023-07-03 12:46:47 -07:00
kfifo_buf.h iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
machine.h
sw_device.h
sw_trigger.h
sysfs.h iio: Add IIO_STATIC_CONST_DEVICE_ATTR 2022-11-23 19:44:03 +00:00
trigger_consumer.h
trigger.h iio: trigger: Add simple trigger_validation helper 2023-05-23 21:20:17 +01:00
triggered_buffer.h iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
triggered_event.h
types.h iio: Add event enums for running period and count 2023-07-23 13:16:18 +01:00