linux/drivers/iio/light
Javier Carrasco 1a797936d3 iio: light: veml6030: fix microlux value calculation
commit 63dd163cd6 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-11-08 16:28:24 +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: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
adux1020.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
al3010.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
al3320a.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
apds9300.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
apds9960.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
as73211.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
bh1750.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
bh1780.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
cm3232.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
cm3323.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
cm3605.c iio: adc: Remove redundant dev_err_probe() 2023-07-29 12:13:17 +01:00
cm32181.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
cm36651.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +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: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
gp2ap020a00f.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
hid-sensor-als.c iio: hid-sensor-als: Return 0 for HID_USAGE_SENSOR_TIME_TIMESTAMP 2024-02-23 09:24:56 +01:00
hid-sensor-prox.c IIO: hid-sensor-prox: Use generic usage 2022-12-20 15:24:57 +01:00
iqs621-als.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
isl29018.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
isl29028.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
isl29125.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
jsa1212.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
Kconfig iio: light: bu27008: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig 2024-10-22 15:46:30 +02:00
lm3533-als.c iio: lm3533: Use sysfs_emit() 2022-01-23 18:03:36 +00:00
ltr501.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ltrf216a.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
lv0104cs.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
Makefile iio: light: ROHM BU27008 color sensor 2023-05-23 21:20:17 +01:00
max44000.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
max44009.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
noa1305.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
opt3001.c iio: light: opt3001: add missing full-scale range value 2024-10-22 15:46:29 +02:00
opt4001.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
pa12203001.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
rohm-bu27008.c Merge 6.5-rc6 into char-misc-next 2023-08-13 22:14:51 +02:00
rohm-bu27034.c iio: light: bu27034: Fix scale format 2023-07-15 18:02:02 +01:00
rpr0521.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
si1133.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
si1145.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +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: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00: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
stk3310.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
tcs3414.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
tcs3472.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +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 iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
tsl2772.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
tsl4531.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
us5182d.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
vcnl4000.c iio: light: vcnl4000: Don't power on/off chip in config 2023-10-05 18:06:46 +01:00
vcnl4035.c 1st set of IIO new device support, features and cleanup for the 6.5 cycle. 2023-06-15 13:01:55 +02:00
veml6030.c iio: light: veml6030: fix microlux value calculation 2024-11-08 16:28:24 +01:00
veml6070.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
vl6180.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
zopt2201.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00