Re: [PATCH v3 3/4] backlight: pwm_bl: compute brightness of LED linearly to human eye.

From: Matthias Kaehlcke
Date: Mon Jun 17 2019 - 16:08:16 EST


Hi Pavel,

On Mon, Jun 17, 2019 at 03:01:51PM +0200, Pavel Machek wrote:
> Hi!
>
> > > Certainly "linear" (this device will work more or less correctly if the
> > > userspace applies perceptual curves). Not sure about logarithmic since
> > > what is actually useful is something that is "perceptually linear"
> > > (logarithmic is merely a way to approximate that).
> > >
> > > I do wonder about a compatible string like most-detailed to
> > > least-detailed description. This for a PWM with the auto-generated
> > > tables we'd see something like:
> > >
> > > cie-1991,perceptual,non-linear
> > >
> > > For something that is non-linear but we are not sure what its tables are
> > > we can offer just "non-linear".
> >
> > Thanks for the feedback!
> >
> > It seems clear that we want a string for the added flexibility. I can
> > work on a patch with the compatible string like description you
> > suggested and we can discuss in the review if we want to go with that
> > or prefer something else.
>
> Compatible-like string seems overly complicated.

I see the merit in the sense that it allows to provide more precision
for if userspace wants/needs it, without requiring userspace to know all
possible (future) options. If userspace wants to keep things simple it
can just check for check for "s == 'non-linear'" and
"s.ends_with(',non-linear')"

In any case, I posted a first version of the patch:

https://lore.kernel.org/patchwork/patch/1088760/

Maybe best to center the discussion there?

> > > Instead one valid value for the sysfs should be "unknown" and this be
> > > the default for drivers we have not analysed (this also makes it easy to
> > > introduce change here).
> >
> > An "unknown" value sounds good, it allows userspace to just do what it
> > did/would hace done before this attribute existed.
>
> What about simply not presenting the attribute when we don't have the
> information?

I'm open to either, I mentioned it earlier and Daniel seemed to prefer
the 'unknown' value so I went with it in the first version (it's also
slightly less code).

Cheers

Matthias