Message ID | 20210228012643.69944-3-ronald@innovation.ch |
---|---|
State | New |
Headers | show |
Series | Touch Bar and ALS support for MacBook Pro's | expand |
On Sat, 27 Feb 2021 17:26:40 -0800 Ronald Tschalär <ronald@innovation.ch> 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@innovation.ch> 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? 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_ABS | > 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_SENSITIVITY_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);
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@innovation.ch> 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@innovation.ch> > 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);
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_ABS | 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_SENSITIVITY_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);
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@innovation.ch> --- drivers/iio/light/hid-sensor-als.c | 8 ++++++++ 1 file changed, 8 insertions(+)