[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241021193933.59c2d2b6@jic23-huawei>
Date: Mon, 21 Oct 2024 19:39:33 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Javier Carrasco <javier.carrasco.cruz@...il.com>
Cc: Lars-Peter Clausen <lars@...afoo.de>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Rishi Gupta <gupt21@...il.com>,
linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] iio: light: add support for veml3235
On Sun, 20 Oct 2024 21:12:17 +0200
Javier Carrasco <javier.carrasco.cruz@...il.com> wrote:
> The Vishay veml3235 is a low-power ambient light sensor with I2C
> interface. It provides a minimum detectable intensity of
> 0.0021 lx/cnt, configurable integration time and gain, and an additional
> white channel to distinguish between different light sources.
>
> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@...il.com>
Hi Javier,
I missed one thing on previous review...
There is no obvious reason this driver needs to provide raw and processed
values. Unless I'm missing something, just provide raw and let userspace
do the maths for us.
Jonathan
> diff --git a/drivers/iio/light/veml3235.c b/drivers/iio/light/veml3235.c
> new file mode 100644
> index 000000000000..fa2141cced8f
> --- /dev/null
> +++ b/drivers/iio/light/veml3235.c
> +static const struct iio_chan_spec veml3235_channels[] = {
> + {
> + .type = IIO_LIGHT,
> + .channel = CH_ALS,
> + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
> + BIT(IIO_CHAN_INFO_PROCESSED),
Why both raw + scale and processed?
We normally only provide raw and processed for light sensors if:
1) The conversion is non linear and hard to reverse.
2) There are events that are thresholds on the raw value.
Here it is linear so just provide _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) |
> + BIT(IIO_CHAN_INFO_SCALE),
> + },
> + {
> + .type = IIO_INTENSITY,
> + .channel = CH_WHITE,
> + .modified = 1,
> + .channel2 = IIO_MOD_LIGHT_BOTH,
> + .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) |
> + BIT(IIO_CHAN_INFO_SCALE),
> + },
> +};
Powered by blists - more mailing lists