WSL2-Linux-Kernel/drivers/iio
Linus Walleij 8b424bdf6c iio: afe: rescale: Accept only offset channels
[ Upstream commit bee448390e ]

As noted by Jonathan Cameron: it is perfectly legal for a channel
to have an offset but no scale in addition to the raw interface.
The conversion will imply that scale is 1:1.

Make rescale_configure_channel() accept just scale, or just offset
to process a channel.

When a user asks for IIO_CHAN_INFO_OFFSET in rescale_read_raw()
we now have to deal with the fact that OFFSET could be present
but SCALE missing. Add code to simply scale 1:1 in this case.

Link: https://lore.kernel.org/linux-iio/CACRpkdZXBjHU4t-GVOCFxRO-AHGxKnxMeHD2s4Y4PuC29gBq6g@mail.gmail.com/
Fixes: 53ebee9499 ("iio: afe: iio-rescale: Support processed channels")
Fixes: 9decacd8b3 ("iio: afe: rescale: Fix boolean logic bug")
Reported-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Peter Rosin <peda@axentia.se>
Link: https://lore.kernel.org/r/20230902-iio-rescale-only-offset-v2-1-988b807754c8@linaro.org
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-08 17:26:42 +01:00
..
accel iio: core: Hide read accesses to iio_dev->currentmode 2023-10-25 11:58:58 +02:00
adc iio: adc: xilinx-xadc: Correct temperature offset/scale for UltraScale 2023-11-08 17:26:40 +01:00
addac iio: addac: stx104: Fix race condition when converting analog-to-digital 2023-08-26 14:23:27 +02:00
afe iio: afe: rescale: Accept only offset channels 2023-11-08 17:26:42 +01:00
amplifiers
buffer
cdc
chemical iio:chemical:ccs811: rearrange iio trigger get and register 2022-06-29 09:03:28 +02:00
common iio: cros_ec: fix an use-after-free in cros_ec_sensors_push_data() 2023-10-25 11:58:58 +02:00
dac iio: dac: build ad5758 driver when AD5758 is selected 2023-06-09 10:32:28 +02:00
dummy iio: dummy: iio_simple_dummy: check the return value of kstrdup() 2022-06-14 18:36:19 +02:00
frequency
gyro iio: hid: fix the retval in gyro_3d_capture_sample 2023-02-09 11:26:42 +01:00
health iio: health: afe4404: Fix oob read in afe4404_[read|write]_raw 2022-12-08 11:28:38 +01:00
humidity iio:humidity:hts221: rearrange iio trigger get and register 2022-06-29 09:03:27 +02:00
imu iio: imu: inv_icm42600: fix timestamp reset 2023-06-09 10:32:28 +02:00
light iio: light: vcnl4035: fixed chip ID check 2023-06-09 10:32:28 +02:00
magnetometer iio: magnetometer: yas530: Change data type of hard_offsets to signed 2022-10-26 12:35:03 +02:00
multiplexer
orientation
position
potentiometer
potentiostat
pressure iio: pressure: ms5611: ms5611_prom_is_valid false negative bug 2023-10-19 23:05:36 +02:00
proximity iio: proximity: vl53l0x: Fix return value check of wait_for_completion_timeout 2022-06-14 18:36:05 +02:00
resolver
temperature iio: temperature: ltc2983: make bulk write buffer DMA-safe 2022-12-31 13:14:29 +01:00
test iio/test-format: build kunit tests without structleak plugin 2021-10-06 17:53:36 -06:00
trigger iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init() 2022-11-26 09:24:46 +01:00
Kconfig iio: add addac subdirectory 2023-08-26 14:23:26 +02:00
Makefile iio: add addac subdirectory 2023-08-26 14:23:26 +02:00
TODO
iio_core.h
iio_core_trigger.h
industrialio-buffer.c iio: buffer: Fix file related error handling in IIO_BUFFER_GET_FD_IOCTL 2022-02-16 12:56:37 +01:00
industrialio-configfs.c
industrialio-core.c iio: core: introduce iio_device_{claim|release}_buffer_mode() APIs 2023-10-25 11:58:58 +02:00
industrialio-event.c iio: fix memory leak in iio_device_register_eventset() 2022-12-31 13:14:47 +01:00
industrialio-sw-device.c
industrialio-sw-trigger.c iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails 2022-12-02 17:41:08 +01:00
industrialio-trigger.c iio: trigger: Fix a scheduling whilst atomic issue seen on tsc2046 2022-01-27 11:02:57 +01:00
industrialio-triggered-event.c
inkern.c iio: inkern: fix return value in devm_of_iio_channel_get_by_name() 2022-10-26 12:35:02 +02:00