Re: [PATCH v2 2/6] iio: light: Add gain-time-scale helpers

From: Matti Vaittinen
Date: Sat Mar 04 2023 - 14:42:31 EST


Hi Jonathan, all

On 3/4/23 20:35, Jonathan Cameron wrote:
On Thu, 2 Mar 2023 12:57:54 +0200
Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote:

Some light sensors can adjust both the HW-gain and integration time.
There are cases where adjusting the integration time has similar impact
to the scale of the reported values as gain setting has.

IIO users do typically expect to handle scale by a single writable 'scale'
entry. Driver should then adjust the gain/time accordingly.

It however is difficult for a driver to know whether it should change
gain or integration time to meet the requested scale. Usually it is
preferred to have longer integration time which usually improves
accuracy, but there may be use-cases where long measurement times can be
an issue. Thus it can be preferable to allow also changing the
integration time - but mitigate the scale impact by also changing the gain
underneath. Eg, if integration time change doubles the measured values,
the driver can reduce the HW-gain to half.

The theory of the computations of gain-time-scale is simple. However,
some people (undersigned) got that implemented wrong for more than once.

Add some gain-time-scale helpers in order to not dublicate errors in all
drivers needing these computations.

Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>

Probably makes sense to put the exports in their own namespace.

Andy asked for that as well. And, while I do not really see the usefulness of the namespaces when all symbols are properly prefixed (I only see added complexity there) - I agreed to use one.


I've been meaning to finish namespacing the rest of IIO but not
gotten around to it yet.
As this is a separate library probably makes sense to have a unique
namespace for it that the users opt in on.
Perhaps IIO_GTS makes sense?

Thanks. I think I'll use that. Although, as all of the symbols are prefixed with iio_gts - if I really saw a risk of symbol clash it would probably make more sense to use just about anything else ;) This because if someone else were prefixing symbols with iio_gts - he would likely be using the exactly same namespace.

Otherwise, as Andy's done a detailed review of this version I'll let
you update it for those comments and take another look at v3.

This suits me fine. I have v3 almost prepared - but I'll be very much away from the computer next week so it may be the v3 will not be out until later. It may be I won't continue work with this until about after a week.

Yours,
-- Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~