Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[sfrench/cifs-2.6.git] / drivers / usb / input / hid-ff.c
index 0d644fa37c68014ba5f3e86c3e350a4906ed4860..bc7f8e6f8c97a12066b6ec7cf2294de0490ec442 100644 (file)
@@ -32,7 +32,8 @@
 #undef DEBUG
 #include <linux/usb.h>
 
-#include "hid.h"
+#include <linux/hid.h>
+#include "usbhid.h"
 
 /*
  * This table contains pointers to initializers. To add support for new
@@ -58,6 +59,9 @@ static struct hid_ff_initializer inits[] = {
        { 0x46d, 0xc219, hid_lgff_init }, /* Logitech Cordless rumble pad 2 */
        { 0x46d, 0xca03, hid_lgff_init }, /* Logitech MOMO force wheel */
 #endif
+#ifdef CONFIG_PANTHERLORD_FF
+       { 0x810, 0x0001, hid_plff_init },
+#endif
 #ifdef CONFIG_THRUSTMASTER_FF
        { 0x44f, 0xb304, hid_tmff_init },
 #endif
@@ -71,8 +75,8 @@ static struct hid_ff_initializer inits[] = {
 int hid_ff_init(struct hid_device* hid)
 {
        struct hid_ff_initializer *init;
-       int vendor = le16_to_cpu(hid->dev->descriptor.idVendor);
-       int product = le16_to_cpu(hid->dev->descriptor.idProduct);
+       int vendor = le16_to_cpu(hid_to_usb_dev(hid)->descriptor.idVendor);
+       int product = le16_to_cpu(hid_to_usb_dev(hid)->descriptor.idProduct);
 
        for (init = inits; init->idVendor; init++)
                if (init->idVendor == vendor && init->idProduct == product)
@@ -80,3 +84,5 @@ int hid_ff_init(struct hid_device* hid)
 
        return init->init(hid);
 }
+EXPORT_SYMBOL_GPL(hid_ff_init);
+