Re: [PATCH v2 07/10] iio: light: veml6030: drop processed info for white channel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:
> 





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux