Sensitivity Percent Relative is added for ambient light sensor as it is
used based on HID Sensor Usages specifications.
Other changes include adding HID_USAGE_SENSOR_LIGHT_ILLUM and
HID_USAGE_SENSOR_ATMOSPHERIC_PRESSURE for ambient light and pressure
sensor respectively to be in sync with HID Sensor Usages specifications.
Signed-off-by: Ooi, Joyce <[email protected]>
---
drivers/iio/light/hid-sensor-als.c | 10 ++++++++++
drivers/iio/pressure/hid-sensor-press.c | 10 ++++++++++
include/linux/hid-sensor-ids.h | 1 +
3 files changed, 21 insertions(+)
diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c
index 8bb1f90..6f3ca18 100644
--- a/drivers/iio/light/hid-sensor-als.c
+++ b/drivers/iio/light/hid-sensor-als.c
@@ -252,6 +252,16 @@ static int als_parse_report(struct platform_device *pdev,
st->common_attributes.sensitivity.index,
st->common_attributes.sensitivity.report_id);
}
+ 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_REL_PCT |
+ 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);
+ }
return ret;
}
diff --git a/drivers/iio/pressure/hid-sensor-press.c b/drivers/iio/pressure/hid-sensor-press.c
index 6848d8c..4cbbf88 100644
--- a/drivers/iio/pressure/hid-sensor-press.c
+++ b/drivers/iio/pressure/hid-sensor-press.c
@@ -249,6 +249,16 @@ static int press_parse_report(struct platform_device *pdev,
st->common_attributes.sensitivity.index,
st->common_attributes.sensitivity.report_id);
}
+ 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_ATMOSPHERIC_PRESSURE,
+ &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);
+ }
return ret;
}
diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-sensor-ids.h
index f2ee90a..755f5e2 100644
--- a/include/linux/hid-sensor-ids.h
+++ b/include/linux/hid-sensor-ids.h
@@ -141,6 +141,7 @@
/* Per data field properties */
#define HID_USAGE_SENSOR_DATA_MOD_NONE 0x00
#define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS 0x1000
+#define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_REL_PCT 0xE000
/* Power state enumerations */
#define HID_USAGE_SENSOR_PROP_POWER_STATE_UNDEFINED_ENUM 0x200850
--
1.9.1
On Thu, 2016-11-03 at 18:43 +0800, Ooi, Joyce wrote:
> Sensitivity Percent Relative is added for ambient light sensor as it
> is
> used based on HID Sensor Usages specifications.
The same patch is submitted by Song Hongyan <[email protected]>
. We may need new IIO ABI to specify relative percent hyst.
Thanks,
Srinivas
>
> Other changes include adding HID_USAGE_SENSOR_LIGHT_ILLUM and
> HID_USAGE_SENSOR_ATMOSPHERIC_PRESSURE for ambient light and pressure
> sensor respectively to be in sync with HID Sensor Usages
> specifications.
>
> Signed-off-by: Ooi, Joyce <[email protected]>
> ---
> drivers/iio/light/hid-sensor-als.c | 10 ++++++++++
> drivers/iio/pressure/hid-sensor-press.c | 10 ++++++++++
> include/linux/hid-sensor-ids.h | 1 +
> 3 files changed, 21 insertions(+)
>
> diff --git a/drivers/iio/light/hid-sensor-als.c
> b/drivers/iio/light/hid-sensor-als.c
> index 8bb1f90..6f3ca18 100644
> --- a/drivers/iio/light/hid-sensor-als.c
> +++ b/drivers/iio/light/hid-sensor-als.c
> @@ -252,6 +252,16 @@ static int als_parse_report(struct
> platform_device *pdev,
> st->common_attributes.sensitivity.index,
> st-
> >common_attributes.sensitivity.report_id);
> }
> + 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
> _REL_PCT |
> + 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);
> + }
> return ret;
> }
>
> diff --git a/drivers/iio/pressure/hid-sensor-press.c
> b/drivers/iio/pressure/hid-sensor-press.c
> index 6848d8c..4cbbf88 100644
> --- a/drivers/iio/pressure/hid-sensor-press.c
> +++ b/drivers/iio/pressure/hid-sensor-press.c
> @@ -249,6 +249,16 @@ static int press_parse_report(struct
> platform_device *pdev,
> st->common_attributes.sensitivity.index,
> st-
> >common_attributes.sensitivity.report_id);
> }
> + 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_ATMOSPHERIC_PRESSURE,
> + &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);
> + }
> return ret;
> }
>
> diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-
> sensor-ids.h
> index f2ee90a..755f5e2 100644
> --- a/include/linux/hid-sensor-ids.h
> +++ b/include/linux/hid-sensor-ids.h
> @@ -141,6 +141,7 @@
> /* Per data field properties */
> #define HID_USAGE_SENSOR_DATA_MOD_NONE
> 0x00
> #define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS
> 0x1000
> +#define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_REL_PCT
> 0xE000
>
> /* Power state enumerations */
> #define HID_USAGE_SENSOR_PROP_POWER_STATE_UNDEFINED_ENUM 0x20
> 0850
On 03/11/16 13:35, Srinivas Pandruvada wrote:
> On Thu, 2016-11-03 at 18:43 +0800, Ooi, Joyce wrote:
>> Sensitivity Percent Relative is added for ambient light sensor as it
>> is
>> used based on HID Sensor Usages specifications.
> The same patch is submitted by Song Hongyan <[email protected]>
> . We may need new IIO ABI to specify relative percent hyst.
It is a particularly 'hideous' way of reporting something - particularly
as we head towards very low values. Ah well. Yes, would need
some additional ABI. We do already have ratio attributes so
maybe -
hysteresis_ratio or something like that. Ugly though. Ah well.
Jonathan
>
> Thanks,
> Srinivas
>
>>
>> Other changes include adding HID_USAGE_SENSOR_LIGHT_ILLUM and
>> HID_USAGE_SENSOR_ATMOSPHERIC_PRESSURE for ambient light and pressure
>> sensor respectively to be in sync with HID Sensor Usages
>> specifications.
>>
>> Signed-off-by: Ooi, Joyce <[email protected]>
>> ---
>> drivers/iio/light/hid-sensor-als.c | 10 ++++++++++
>> drivers/iio/pressure/hid-sensor-press.c | 10 ++++++++++
>> include/linux/hid-sensor-ids.h | 1 +
>> 3 files changed, 21 insertions(+)
>>
>> diff --git a/drivers/iio/light/hid-sensor-als.c
>> b/drivers/iio/light/hid-sensor-als.c
>> index 8bb1f90..6f3ca18 100644
>> --- a/drivers/iio/light/hid-sensor-als.c
>> +++ b/drivers/iio/light/hid-sensor-als.c
>> @@ -252,6 +252,16 @@ static int als_parse_report(struct
>> platform_device *pdev,
>> st->common_attributes.sensitivity.index,
>> st-
>>> common_attributes.sensitivity.report_id);
>> }
>> + 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
>> _REL_PCT |
>> + 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);
>> + }
>> return ret;
>> }
>>
>> diff --git a/drivers/iio/pressure/hid-sensor-press.c
>> b/drivers/iio/pressure/hid-sensor-press.c
>> index 6848d8c..4cbbf88 100644
>> --- a/drivers/iio/pressure/hid-sensor-press.c
>> +++ b/drivers/iio/pressure/hid-sensor-press.c
>> @@ -249,6 +249,16 @@ static int press_parse_report(struct
>> platform_device *pdev,
>> st->common_attributes.sensitivity.index,
>> st-
>>> common_attributes.sensitivity.report_id);
>> }
>> + 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_ATMOSPHERIC_PRESSURE,
>> + &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);
>> + }
>> return ret;
>> }
>>
>> diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-
>> sensor-ids.h
>> index f2ee90a..755f5e2 100644
>> --- a/include/linux/hid-sensor-ids.h
>> +++ b/include/linux/hid-sensor-ids.h
>> @@ -141,6 +141,7 @@
>> /* Per data field properties */
>> #define HID_USAGE_SENSOR_DATA_MOD_NONE
>> 0x00
>> #define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS
>> 0x1000
>> +#define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_REL_PCT
>> 0xE000
>>
>> /* Power state enumerations */
>> #define HID_USAGE_SENSOR_PROP_POWER_STATE_UNDEFINED_ENUM 0x20
>> 0850