On Mon, 23 Sep 2024 00:17:55 +0200 Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx> wrote: > 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@xxxxxxxxx> Just to note, this one is fine as it is fixing an ABI bug so is a valid reason to change the ABI. In theory though we should pull it out as a fix to add to stable as well, but it's low risk that anyone is using the 'false' channel so I don't think we care about backports for this one. Thanks, Jonathan > --- > drivers/iio/light/veml6030.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/iio/light/veml6030.c b/drivers/iio/light/veml6030.c > index a3190fab3add..861bdf2edd4d 100644 > --- a/drivers/iio/light/veml6030.c > +++ b/drivers/iio/light/veml6030.c > @@ -209,8 +209,7 @@ static const struct iio_chan_spec veml6030_channels[] = { > .channel = CH_WHITE, > .modified = 1, > .channel2 = IIO_MOD_LIGHT_BOTH, > - .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | > - BIT(IIO_CHAN_INFO_PROCESSED), > + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), > .info_mask_shared_by_all = 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: >