iio: hid-sensors: light/als : Add sensitivity
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Wed, 30 Oct 2013 22:48:00 +0000 (22:48 +0000)
committerJonathan Cameron <jic23@kernel.org>
Tue, 5 Nov 2013 23:03:11 +0000 (23:03 +0000)
A number of Properties that can be applied to Data Fields are per data
field basis or for all data fields. Adding sensitivity field for all
als fields, which is most commonly used in currently available
sensor hubs.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/light/hid-sensor-als.c
include/linux/hid-sensor-ids.h

index fa6ae8cf89eaa9edfdfffe379939bc7cc8a491f0..0c7f115ee3b3c35f1b35e804686cb16d76f05aad 100644 (file)
@@ -229,6 +229,17 @@ static int als_parse_report(struct platform_device *pdev,
        dev_dbg(&pdev->dev, "als %x:%x\n", st->als_illum.index,
                        st->als_illum.report_id);
 
+       /* Set Sensitivity field ids, when there is no individual modifier */
+       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_DATA_LIGHT,
+                       &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;
 }
 
index f3ed6b14f86cb348722c34cb4dc16f11f7d67ade..8d45e0290c9134f507b924597a967d3cebe63ebe 100644 (file)
@@ -30,6 +30,7 @@
 
 /* ALS (200041) */
 #define HID_USAGE_SENSOR_ALS                                   0x200041
+#define HID_USAGE_SENSOR_DATA_LIGHT                            0x2004d0
 #define HID_USAGE_SENSOR_LIGHT_ILLUM                           0x2004d1
 
 /* Gyro 3D: (200076) */