[PATCH] HID: Supporting rumble in another Thrustmaster gamepad

rubenatch
2009-06-24T17:48:24Z

From: Rubén Aós Garralda

This patch enables rumble in Thrustmaster Dual 3-in-1 trigger gamepads
(both PC and PS3 modes). It only informs hid-tmff.c the USB IDs and
force feedback modes for that gamepad, and puts the gamepad in the
"forbidden" list in hid-core.c

Signed-off-by: Rubén Aós Garralda <rubenatch@gmail.com>

---

diff -uprN linux-source-2.6.30/drivers/hid/hid-core.c
linux-source-test/drivers/hid/hid-core.c
--- linux-source-2.6.30/drivers/hid/hid-core.c 2009-06-10
05:05:27.000000000 +0200
+++ linux-source-test/drivers/hid/hid-core.c 2009-06-24
18:39:41.000000000 +0200
@@ -1309,6 +1309,8 @@ static const struct hid_device_id hid_bl
{ HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS,
USB_DEVICE_ID_SUNPLUS_WDESKTOP) },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb300) },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb323) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb324) },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb651) },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb654) },
{ HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED,
USB_DEVICE_ID_TOPSEED_CYBERLINK) },
diff -uprN linux-source-2.6.30/drivers/hid/hid-tmff.c
linux-source-test/drivers/hid/hid-tmff.c
--- linux-source-2.6.30/drivers/hid/hid-tmff.c 2009-06-10
05:05:27.000000000 +0200
+++ linux-source-test/drivers/hid/hid-tmff.c 2009-06-24
18:41:04.000000000 +0200
@@ -238,6 +238,10 @@ static const struct hid_device_id tm_dev
.driver_data = (unsigned long)ff_rumble },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304),
.driver_data = (unsigned long)ff_rumble },
+ { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb323), /* Dual
Trigger 3-in-1 (PC Mode) */
+ .driver_data = (unsigned long)ff_rumble },
+ { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb324), /* Dual
Trigger 3-in-1 (PS3 Mode) */
+ .driver_data = (unsigned long)ff_rumble },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb651), /* FGT
Rumble Force Wheel */
.driver_data = (unsigned long)ff_rumble },
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb654), /* FGT
Force Feedback Wheel */