linux/drivers/iio/light
Javier Carrasco 71c3926459 iio: light: as73211: fix channel handling in only-color triggered buffer
commit ab09c6cfe0 upstream.

The channel index is off by one unit if AS73211_SCAN_MASK_ALL is not
set (optimized path for color channel readings), and it must be shifted
instead of leaving an empty channel for the temperature when it is off.

Once the channel index is fixed, the uninitialized channel must be set
to zero to avoid pushing uninitialized data.

Add available_scan_masks for all channels and only-color channels to let
the IIO core demux and repack the enabled channels.

Cc: stable@vger.kernel.org
Fixes: 403e5586b5 ("iio: light: as73211: New driver")
Tested-by: Christian Eggers <ceggers@arri.de>
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://patch.msgid.link/20241214-iio_memset_scan_holes-v4-1-260b395b8ed5@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-02-21 13:49:48 +01:00
..
acpi-als.c iio: core: move @id from struct iio_dev to struct iio_dev_opaque 2021-05-17 13:49:13 +01:00
adjd_s311.c iio: light: adjd_s311: convert probe to device-managed functions 2021-07-17 18:44:18 +01:00
adux1020.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
al3010.c iio: light: al3010: Fix an error handling path in al3010_probe() 2024-12-14 19:53:52 +01:00
al3320a.c iio: light: al3320a: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-07-18 18:48:18 +01:00
apds9300.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
apds9960.c iio: light: apds9960: fix wrong register for gesture gain 2022-11-06 17:33:48 +00:00
as73211.c iio: light: as73211: fix channel handling in only-color triggered buffer 2025-02-21 13:49:48 +01:00
bh1750.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
bh1780.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cm3232.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cm3323.c iio: light: cm3323: Add of_device_id table 2021-08-08 15:25:40 +01:00
cm3605.c iio: light: cm3605: Fix an error handling path in cm3605_probe() 2022-08-15 22:30:40 +01:00
cm32181.c iio: light: cm32181: Unregister second I2C client if present 2023-04-13 16:55:27 +02:00
cm36651.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cros_ec_light_prox.c iio: cros: Register FIFO callback after sensor is registered 2022-07-18 18:29:13 +01:00
gp2ap002.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
gp2ap020a00f.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
hid-sensor-als.c iio: hid-sensor-als: Return 0 for HID_USAGE_SENSOR_TIME_TIMESTAMP 2024-02-23 09:12:33 +01:00
hid-sensor-prox.c iio: hid-sensors: bind IIO channels alloc to device object 2021-07-13 18:21:53 +01:00
iqs621-als.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
isl29018.c iio:light:isl29018: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() 2022-02-18 11:45:29 +00:00
isl29028.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
isl29125.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
jsa1212.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
Kconfig iio: light: rpr0521: add missing Kconfig dependencies 2022-11-12 17:36:02 +00:00
lm3533-als.c iio: lm3533: Use sysfs_emit() 2022-01-23 18:03:36 +00:00
ltr501.c iio: light: ltr501: Add LTER0303 to the supported devices 2024-12-14 19:54:48 +01:00
ltrf216a.c iio: light: ltrf216a: Add raw attribute 2022-08-30 18:35:38 +01:00
lv0104cs.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
Makefile iio: light: Add support for ltrf216a sensor 2022-08-15 22:29:57 +01:00
max44000.c iio: light: max44000: use device-managed functions in probe 2021-10-17 11:05:54 +01:00
max44009.c iio: light: max44009: add missing OF device matching 2023-05-11 23:03:27 +09:00
noa1305.c iio: light: noa1305: Make use of the helper function dev_err_probe() 2021-10-19 08:30:44 +01:00
opt3001.c iio: light: opt3001: add missing full-scale range value 2024-10-22 15:56:47 +02:00
pa12203001.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rpr0521.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
si1133.c iio: light: si1133: Drop remaining uses of %hhx format string. 2021-06-09 18:31:03 +01:00
si1145.c iio: light: si1145: remove redundant continue statement 2021-07-19 09:52:00 +01:00
st_uvis25.h iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. 2020-12-03 19:40:27 +00:00
st_uvis25_core.c iio: light: st_uvis25: Use EXPORT_NS_SIMPLE_DEV_PM_OPS() 2022-09-21 18:42:57 +01:00
st_uvis25_i2c.c iio: light: st_uvis25: Use EXPORT_NS_SIMPLE_DEV_PM_OPS() 2022-09-21 18:42:57 +01:00
st_uvis25_spi.c iio: light: st_uvis25: Use EXPORT_NS_SIMPLE_DEV_PM_OPS() 2022-09-21 18:42:57 +01:00
stk3310.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tcs3414.c iio:light:tcs3414: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() etc 2022-02-18 11:45:30 +00:00
tcs3472.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tsl2563.c iio: light: tsl2563: Do not hardcode interrupt trigger type 2023-03-10 09:33:29 +01:00
tsl2583.c iio: light: tsl2583: Fix module unloading 2022-10-17 08:51:26 +01:00
tsl2591.c iio: light: tsl2591: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr() 2022-07-18 18:48:19 +01:00
tsl2772.c iio: light: tsl2772: fix reading proximity-diodes from device tree 2023-04-26 14:28:38 +02:00
tsl4531.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
us5182d.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vcnl4000.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vcnl4035.c iio: light: vcnl4035: fix information leak in triggered buffer 2025-01-17 13:34:46 +01:00
veml6030.c iio: light: veml6030: fix microlux value calculation 2024-11-08 16:26:45 +01:00
veml6070.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vl6180.c iio: vl6180: Use DIV_ROUND_CLOSEST() instead of open-coding it 2021-01-09 21:52:45 +00:00
zopt2201.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00