linux/drivers/iio/light
Javier Carrasco 63dd163cd6 iio: light: veml6030: fix microlux value calculation
The raw value conversion to obtain a measurement in lux as
INT_PLUS_MICRO does not calculate the decimal part properly to display
it as micro (in this case microlux). It only calculates the module to
obtain the decimal part from a resolution that is 10000 times the
provided in the datasheet (0.5376 lux/cnt for the veml6030). The
resulting value must still be multiplied by 100 to make it micro.

This bug was introduced with the original implementation of the driver.

Only the illuminance channel is fixed becuase the scale is non sensical
for the intensity channels anyway.

Cc: stable@vger.kernel.org
Fixes: 7b779f573c ("iio: light: add driver for veml6030 ambient light sensor")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://patch.msgid.link/20241016-veml6030-fix-processed-micro-v1-1-4a5644796437@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-10-24 18:30:03 +01:00
..
acpi-als.c iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
adjd_s311.c iio: light: adjd_s311: make use of iio_for_each_active_channel() 2024-08-03 10:13:40 +01:00
adux1020.c iio: light: adux1020: make use of regmap_clear_bits(), regmap_set_bits() 2024-06-25 21:04:47 +01:00
al3010.c iio: light: al3010: Switch from linux/of.h to linux/mod_devicetable.h 2024-02-28 19:26:35 +00:00
al3320a.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
apds9300.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
apds9306.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
apds9960.c iio: light: apds9960: Add proximity and gesture offset calibration 2024-08-10 11:17:35 +01:00
as73211.c iio: light: as73211: add support for as7331 2024-01-22 18:58:44 +00:00
bh1745.c iio: light: ROHM BH1745 colour sensor 2024-08-03 10:13:41 +01:00
bh1750.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
bh1780.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
cm3232.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
cm3323.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
cm3605.c iio: light: cm3605: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
cm32181.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
cm36651.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01: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 iio: light: gp2ap002: Constify struct regmap_bus 2024-07-29 20:31:10 +01:00
gp2ap020a00f.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid-sensor-als.c IIO: 1st set of new device support, features and cleanup for 6.9 2024-02-25 14:11:41 +01:00
hid-sensor-prox.c iio: light: hid-sensor-prox: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
iqs621-als.c iio: light: iqs621-als: make use of regmap_clear_bits() 2024-06-25 21:04:47 +01:00
isl29018.c iio: light: isl29018: make use of regmap_clear_bits() 2024-06-25 21:04:47 +01:00
isl29028.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
isl29125.c iio: light: isl29125: make use of iio_for_each_active_channel() 2024-08-03 10:13:40 +01:00
isl76682.c iio: light: isl76682: remove unreachable code 2023-12-11 19:16:35 +00:00
jsa1212.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
Kconfig iio: light: bu27008: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig 2024-10-06 16:29:32 +01:00
lm3533-als.c iio: light: lm3533-als: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
ltr390.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ltr501.c iio: light: ltr501: Drop ACPI_PTR() usage 2024-01-23 22:06:55 +00:00
ltrf216a.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
lv0104cs.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
Makefile iio: light: ROHM BH1745 colour sensor 2024-08-03 10:13:41 +01:00
max44000.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
max44009.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
noa1305.c iio: light: noa1305: Fix up integration time look up 2024-08-17 15:37:37 +01:00
opt3001.c iio: light: opt3001: add missing full-scale range value 2024-09-30 09:20:53 +01:00
opt4001.c iio: light: opt4001: Use i2c_get_match_data() 2023-09-12 10:42:03 +01:00
pa12203001.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
rohm-bu27008.c iio: bu27008: Add illuminance channel 2023-11-16 19:10:27 +00:00
rohm-bu27034.c iio: bu27034: Add a read only HARDWAREGAIN 2024-08-03 10:13:35 +01:00
rpr0521.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
si1133.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
si1145.c iio: light: si1145: use new '.masklength' accessors 2024-08-03 10:13:40 +01:00
st_uvis25_core.c iio: light: st_uvis25_core: make use of regmap_clear_bits() 2024-06-25 21:04:47 +01:00
st_uvis25_i2c.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +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
st_uvis25.h
stk3310.c iio: light: stk3310: add support for stk3013 2024-08-03 10:13:44 +01:00
tcs3414.c iio: light: tcs3414: make use of iio_for_each_active_channel() 2024-08-03 10:13:40 +01:00
tcs3472.c iio: light: tcs3472: make use of iio_for_each_active_channel() 2024-08-03 10:13:40 +01:00
tsl2563.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
tsl2583.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
tsl2591.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
tsl2772.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
tsl4531.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
us5182d.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
vcnl4000.c iio: light: vcnl4000: Set ps high definition for 4040/4200 2024-02-17 16:16:09 +00:00
vcnl4035.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
veml6030.c iio: light: veml6030: fix microlux value calculation 2024-10-24 18:30:03 +01:00
veml6040.c iio: light: driver for Vishay VEML6040 2024-06-13 19:19:25 +01:00
veml6070.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
veml6075.c iio: light: add VEML6075 UVA and UVB light sensor driver 2023-12-04 13:57:25 +00:00
vl6180.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
zopt2201.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00