Re: [PATCH v2] iio: afe: rescale: Accept only offset channels

From: Peter Rosin
Date: Tue Oct 17 2023 - 10:00:34 EST


Hi!

2023-10-17 at 11:05, Jonathan Cameron wrote:
> On Mon, 16 Oct 2023 12:05:32 +0200
> Peter Rosin <peda@xxxxxxxxxx> wrote:
>> 2023-10-16 at 10:39, Linus Walleij wrote:



>>> Just raw (with neither offset or rescale) doesn't make sense, since
>>
>> And I don't see why not. That's the crux.
>>
>>> the AFE rescaler does just offsetting and rescaling, in that case the
>>> user should just use the raw channel. Also it would then take
>>> precedence over a processed channel (which applies rescale and
>>> offset internally) which doesn't make sense to me.
>>
>> Why isn't it perfectly fine for a device to provide only a raw
>> channel and then expect that to be interpreted as the real unit?
>> Why would it need a processed channel when no processing is
>> going on? E.g. a device reporting the temp in the expected unit
>> in one of its registers. Or whatever with such a friendly
>> register.
>
> In that case it should report a processed value to indicate that.
> It's admittedly a bit of a corner case given it's not processed by
> the kernel - there is an argument that this (more or less) only
> happens when someone has processed a raw ADC count but in theory
> that's not necessarily true.
>
> There are a few examples of drivers passing through the register value
> as processed in tree - normally when there
> is a microprocessor doing some fusion of signals or similar.
>
> Raw gets reported on it's own in a few other cases, such as when
> there are no known units - that happens for things like light intensity,
> proximity (which is often reflected light intensity).
> For those I'm not sure the rescaler is useful.

Excellent, thanks for the clarification!

Reviewed-by: Peter Rosin <peda@xxxxxxxxxx>

Cheers,
Peter