]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
iio: light: veml6030: drop processed info for white channel
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Tue, 1 Oct 2024 20:21:19 +0000 (22:21 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 6 Oct 2024 14:09:35 +0000 (15:09 +0100)
The resolution of the WHITE channel is not provided by the manufacturer,
neither in the datasheet nor in the application note (even their
proprietary application only processes the ALS channel, giving raw
values for WHITE).

The current implementation assumes that both resolutions are identical,
which is extremely unlikely, especially for photodiodes with different
spectral responses.

Drop the processed information as it is meaningless.

Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://patch.msgid.link/20241001-veml6035-v3-6-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/veml6030.c

index fe6d2f9a2e013e9a36548a709a83ad3c833411f1..677374e401b3758d4efcf7b0008aa7c85c469845 100644 (file)
@@ -210,7 +210,6 @@ static const struct iio_chan_spec veml6030_channels[] = {
                .modified = 1,
                .channel2 = IIO_MOD_LIGHT_BOTH,
                .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
-                               BIT(IIO_CHAN_INFO_PROCESSED) |
                                BIT(IIO_CHAN_INFO_INT_TIME) |
                                BIT(IIO_CHAN_INFO_SCALE),
                .info_mask_shared_by_all_available = BIT(IIO_CHAN_INFO_INT_TIME) |
@@ -549,11 +548,6 @@ static int veml6030_read_raw(struct iio_dev *indio_dev,
                                dev_err(dev, "can't read white data %d\n", ret);
                                return ret;
                        }
-                       if (mask == IIO_CHAN_INFO_PROCESSED) {
-                               *val = (reg * data->cur_resolution) / 10000;
-                               *val2 = (reg * data->cur_resolution) % 10000;
-                               return IIO_VAL_INT_PLUS_MICRO;
-                       }
                        *val = reg;
                        return IIO_VAL_INT;
                default: