OSDN Git Service

iio: hid-sensors: gyro : 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:02:53 +0000 (23:02 +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
gyro 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/gyro/hid-sensor-gyro-3d.c
include/linux/hid-sensor-ids.h

index ea01c6b..97797db 100644 (file)
@@ -262,6 +262,17 @@ static int gyro_3d_parse_report(struct platform_device *pdev,
                        st->gyro[1].index, st->gyro[1].report_id,
                        st->gyro[2].index, st->gyro[2].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_ANGL_VELOCITY,
+                       &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 4dda3b7..f3ed6b1 100644 (file)
@@ -34,6 +34,7 @@
 
 /* Gyro 3D: (200076) */
 #define HID_USAGE_SENSOR_GYRO_3D                               0x200076
+#define HID_USAGE_SENSOR_DATA_ANGL_VELOCITY                    0x200456
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_X_AXIS                  0x200457
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS                  0x200458
 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS                  0x200459