HID: sony: Adjust value range for motion sensors
authorRoderick Colenbrander <roderick.colenbrander@sony.com>
Fri, 7 Oct 2016 19:39:39 +0000 (12:39 -0700)
committerJiri Kosina <jkosina@suse.cz>
Mon, 10 Oct 2016 08:43:26 +0000 (10:43 +0200)
The motion sensor values are 16-bit, so make the value range match.
It is hard to reach the upper values, but they can be reached. At
least the current accelerometer value of 8192 is very easy to pass.

It is still not nice that the motion sensors live in no man's land
in between ABS_MISC and ABS_MT_SLOT, but that's something for another
time, which the proposed ABS_ACCEL_*/ABS_GYRO_* were meant for.

Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-sony.c

index b206d856d35167ddd6881019dd5d4d6c5b51f539..bd847906c770c303e543240853feb9b9ed323b9d 100644 (file)
@@ -405,14 +405,14 @@ static u8 dualshock4_usb_rdesc[] = {
        0x19, 0x40,         /*      Usage Minimum (40h),            */
        0x29, 0x42,         /*      Usage Maximum (42h),            */
        0x16, 0x00, 0x80,   /*      Logical Minimum (-32768),       */
-       0x26, 0x00, 0x7F,   /*      Logical Maximum (32767),        */
+       0x26, 0xFF, 0x7F,   /*      Logical Maximum (32767),        */
        0x75, 0x10,         /*      Report Size (16),               */
        0x95, 0x03,         /*      Report Count (3),               */
        0x81, 0x02,         /*      Input (Variable),               */
        0x19, 0x43,         /*      Usage Minimum (43h),            */
        0x29, 0x45,         /*      Usage Maximum (45h),            */
-       0x16, 0x00, 0xE0,   /*      Logical Minimum (-8192),        */
-       0x26, 0xFF, 0x1F,   /*      Logical Maximum (8191),         */
+       0x16, 0x00, 0x80,   /*      Logical Minimum (-32768),       */
+       0x26, 0xFF, 0x7F,   /*      Logical Maximum (32767),        */
        0x95, 0x03,         /*      Report Count (3),               */
        0x81, 0x02,         /*      Input (Variable),               */
        0x06, 0x00, 0xFF,   /*      Usage Page (FF00h),             */
@@ -714,14 +714,14 @@ static u8 dualshock4_bt_rdesc[] = {
        0x19, 0x40,         /*      Usage Minimum (40h),            */
        0x29, 0x42,         /*      Usage Maximum (42h),            */
        0x16, 0x00, 0x80,   /*      Logical Minimum (-32768),       */
-       0x26, 0x00, 0x7F,   /*      Logical Maximum (32767),        */
+       0x26, 0xFF, 0x7F,   /*      Logical Maximum (32767),        */
        0x75, 0x10,         /*      Report Size (16),               */
        0x95, 0x03,         /*      Report Count (3),               */
        0x81, 0x02,         /*      Input (Variable),               */
        0x19, 0x43,         /*      Usage Minimum (43h),            */
        0x29, 0x45,         /*      Usage Maximum (45h),            */
-       0x16, 0x00, 0xE0,   /*      Logical Minimum (-8192),        */
-       0x26, 0xFF, 0x1F,   /*      Logical Maximum (8191),         */
+       0x16, 0x00, 0x80,   /*      Logical Minimum (-32768),       */
+       0x26, 0xFF, 0x7F,   /*      Logical Maximum (32767),        */
        0x95, 0x03,         /*      Report Count (3),               */
        0x81, 0x02,         /*      Input (Variable),               */
        0x06, 0x00, 0xFF,   /*      Usage Page (FF00h),             */