HID: use hid-plff driver for GreenAsia 0e8f:0003 devices
Anssi Hannula [Wed, 19 Sep 2007 14:13:20 +0000 (16:13 +0200)]
Add 0e8f:0003 into the list of devices supported by the hid-plff
force feedback driver. These devices identify themselves as
"GreenAsia Inc.    USB Joystick     " and can be either adapters or
actual game controllers. The testing was done with a Köng Gaming
gamepad.

Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>

drivers/hid/usbhid/Kconfig
drivers/hid/usbhid/hid-ff.c
drivers/hid/usbhid/hid-plff.c

index b27023f..c557d70 100644 (file)
@@ -71,12 +71,12 @@ config LOGITECH_FF
          force feedback.
 
 config PANTHERLORD_FF
-       bool "PantherLord USB/PS2 2in1 Adapter support"
+       bool "PantherLord/GreenAsia based device support"
        depends on HID_FF
        select INPUT_FF_MEMLESS if USB_HID
        help
-         Say Y here if you have a PantherLord USB/PS2 2in1 Adapter and want
-         to enable force feedback support for it.
+         Say Y here if you have a PantherLord/GreenAsia based game controller
+         or adapter and want to enable force feedback support for it.
 
 config THRUSTMASTER_FF
        bool "ThrustMaster devices support (EXPERIMENTAL)"
index 5dacd8e..22329fe 100644 (file)
@@ -62,7 +62,8 @@ static struct hid_ff_initializer inits[] = {
        { 0x46d, 0xca03, hid_lgff_init }, /* Logitech MOMO force wheel */
 #endif
 #ifdef CONFIG_PANTHERLORD_FF
-       { 0x810, 0x0001, hid_plff_init },
+       { 0x810, 0x0001, hid_plff_init }, /* "Twin USB Joystick" */
+       { 0xe8f, 0x0003, hid_plff_init }, /* "GreenAsia Inc.    USB Joystick     " */
 #endif
 #ifdef CONFIG_THRUSTMASTER_FF
        { 0x44f, 0xb300, hid_tmff_init },
index d6a8f2b..9eb83cf 100644 (file)
@@ -1,5 +1,15 @@
 /*
- *  Force feedback support for PantherLord USB/PS2 2in1 Adapter devices
+ *  Force feedback support for PantherLord/GreenAsia based devices
+ *
+ *  The devices are distributed under various names and the same USB device ID
+ *  can be used in both adapters and actual game controllers.
+ *
+ *  0810:0001 "Twin USB Joystick"
+ *   - tested with PantherLord USB/PS2 2in1 Adapter
+ *   - contains two reports, one for each port (HID_QUIRK_MULTI_INPUT)
+ *
+ *  0e8f:0003 "GreenAsia Inc.    USB Joystick     "
+ *   - tested with Köng Gaming gamepad
  *
  *  Copyright (c) 2007 Anssi Hannula <anssi.hannula@gmail.com>
  */
@@ -67,11 +77,11 @@ int hid_plff_init(struct hid_device *hid)
        struct input_dev *dev;
        int error;
 
-       /* The device contains 2 output reports (one for each
-          HID_QUIRK_MULTI_INPUT device), both containing 1 field, which
-          contains 4 ff00.0002 usages and 4 16bit absolute values.
+       /* The device contains one output report per physical device, all
+          containing 1 field, which contains 4 ff00.0002 usages and 4 16bit
+          absolute values.
 
-          The 2 input reports also contain a field which contains
+          The input reports also contain a field which contains
           8 ff00.0001 usages and 8 boolean values. Their meaning is
           currently unknown. */
 
@@ -122,8 +132,8 @@ int hid_plff_init(struct hid_device *hid)
                usbhid_submit_report(hid, plff->report, USB_DIR_OUT);
        }
 
-       printk(KERN_INFO "hid-plff: Force feedback for PantherLord USB/PS2 "
-              "2in1 Adapters by Anssi Hannula <anssi.hannula@gmail.com>\n");
+       printk(KERN_INFO "hid-plff: Force feedback for PantherLord/GreenAsia "
+              "devices by Anssi Hannula <anssi.hannula@gmail.com>\n");
 
        return 0;
 }