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 <hongyan.s...@intel.com>
> . 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 <joyce....@intel.com>
>> ---
>>  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

Reply via email to