Re: [PATCH 2/5] iio: hid-sensor-als: Support change sensitivity in illuminance too.

From: Srinivas Pandruvada
Date: Mon Mar 01 2021 - 17:42:57 EST


On Sun, 2021-02-28 at 14:45 +0000, Jonathan Cameron wrote:
> On Sat, 27 Feb 2021 17:26:40 -0800
> Ronald Tschalär <ronald@xxxxxxxxxxxxx> wrote:
>
> > Recent MacBook Pro's specify the usage of the change sensitivity
> > field
> > as illuminance (with a change sensitivity modifier) rather than as
> > light.
> >
> > Signed-off-by: Ronald Tschalär <ronald@xxxxxxxxxxxxx>
> This looks fine to me though it the hid sensors spec never fails to
> surprise
> me in the different slight variants of the same thing that come up.
>
> Illuminance is at least fairly well defined, but who knows what for
> the DATA_LIGHT
> version takes?

The current implementations are deploying using
"HID_USAGE_SENSOR_LIGHT_ILLUM" usage id 0xD1 for input. So this is
natural to use the same usage id for sensitivity. So patch looks good
to me.

But most implementation choose to use DATA_LIGHT for the sensitivity.
probably referring to change in quantity of light without referring to
area. There are no obvious units specified for DATA_LIGHT in the spec.

Thanks,
Srinivas

>
> Anyhow, lets give time for Srinivas to sanity check this as he's much
> more familiar
> with that spec than I am.
>
> Jonathan
>
> > ---
> > drivers/iio/light/hid-sensor-als.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/iio/light/hid-sensor-als.c
> > b/drivers/iio/light/hid-sensor-als.c
> > index a21c827e4953d..849ee37dcd866 100644
> > --- a/drivers/iio/light/hid-sensor-als.c
> > +++ b/drivers/iio/light/hid-sensor-als.c
> > @@ -252,6 +252,14 @@ static int als_parse_report(struct
> > platform_device *pdev,
> > HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_AB
> > S |
> > HID_USAGE_SENSOR_DATA_LIGHT,
> > &st->common_attributes.sensitivity);
> > +
> > + if (st->common_attributes.sensitivity.index < 0)
> > + sensor_hub_input_get_attribute_info(hsdev,
> > + HID_FEATURE_REPORT, usage_id,
> > + HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSIT
> > IVITY_ABS |
> > + HID_USAGE_SENSOR_LIGHT_ILLUM,
> > + &st->common_attributes.sensitivity);
> > +
> > dev_dbg(&pdev->dev, "Sensitivity index:report %d:%d\n",
> > st->common_attributes.sensitivity.index,
> > st->common_attributes.sensitivity.report_id);