]> Pileus Git - ~andy/linux/blobdiff - drivers/hid/hid-lg.c
HID: LG: Fix detection of Logitech Speed Force Wireless (WiiWheel)
[~andy/linux] / drivers / hid / hid-lg.c
index 160c489190813573aa8a5c3bde10d7eda36d9139..c06559803fd86f1d9280ebcbdc9e51607f4e0c6e 100644 (file)
@@ -242,15 +242,6 @@ static __u8 *lg_report_fixup(struct hid_device *hdev, __u8 *rdesc,
                         "fixing up rel/abs in Logitech report descriptor\n");
                rdesc[33] = rdesc[50] = 0x02;
        }
-       if ((drv_data->quirks & LG_FF4) && *rsize >= 101 &&
-                       rdesc[41] == 0x95 && rdesc[42] == 0x0B &&
-                       rdesc[47] == 0x05 && rdesc[48] == 0x09) {
-               hid_info(hdev, "fixing up Logitech Speed Force Wireless button descriptor\n");
-               rdesc[41] = 0x05;
-               rdesc[42] = 0x09;
-               rdesc[47] = 0x95;
-               rdesc[48] = 0x0B;
-       }
 
        switch (hdev->product) {
 
@@ -292,6 +283,17 @@ static __u8 *lg_report_fixup(struct hid_device *hdev, __u8 *rdesc,
                        *rsize = sizeof(dfp_rdesc_fixed);
                }
                break;
+
+       case USB_DEVICE_ID_LOGITECH_WII_WHEEL:
+               if (*rsize >= 101 && rdesc[41] == 0x95 && rdesc[42] == 0x0B &&
+                               rdesc[47] == 0x05 && rdesc[48] == 0x09) {
+                       hid_info(hdev, "fixing up Logitech Speed Force Wireless report descriptor\n");
+                       rdesc[41] = 0x05;
+                       rdesc[42] = 0x09;
+                       rdesc[47] = 0x95;
+                       rdesc[48] = 0x0B;
+               }
+               break;
        }
 
        return rdesc;