[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241022192807.2f83dfa1@jic23-huawei>
Date: Tue, 22 Oct 2024 19:28:07 +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 Mon, 21 Oct 2024 22:21:22 +0200
Javier Carrasco <javier.carrasco.cruz@...il.com> wrote:
> On 21/10/2024 20:39, Jonathan Cameron wrote:
> > 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
> >
> Sure, I will drop that for v3. I added it because this driver took the
> veml6030 as a reference, and that driver provides the processed value. I
> guess that the veml6030 should have not provided processed values
> either, but it's late to remove them after the driver was released.
>
> Now that we are at it, what is the rule (of thumb?) to provide processed
> values? Those that can't be obtained from the raw data and simple
> operations with the scale/offset/integration time/whatever userspace can
> see?
Yes. If the conversion is linear, then leave it to userspace (with scale
and offset provided). If it's not linear then in kernel because currently
we have no other choice.
There are some historical quirks where a processed only interface got in
then we had to add raw later (typically when we added buffered output
where scale and offset are important because processed values normally
don't pack well).
Jonathan
>
> Thank you and best regards,
> Javier Carrasco
Powered by blists - more mailing lists