HID: ignore Philips IEEE802.15.4 RF Dongle
[safe/jmp/linux-2.6] / drivers / hid / hid-zpff.c
index 9ed04ee..a79f0d7 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "hid-ids.h"
 
+#ifdef CONFIG_ZEROPLUS_FF
 #include "usbhid/usbhid.h"
 
 struct zpff_device {
@@ -73,14 +74,14 @@ static int zpff_init(struct hid_device *hid)
        int error;
 
        if (list_empty(report_list)) {
-               printk(KERN_ERR "hid-zpff: no output report found\n");
+               dev_err(&hid->dev, "no output report found\n");
                return -ENODEV;
        }
 
        report = list_entry(report_list->next, struct hid_report, list);
 
        if (report->maxfield < 4) {
-               printk(KERN_ERR "hid-zpff: not enough fields in report\n");
+               dev_err(&hid->dev, "not enough fields in report\n");
                return -ENODEV;
        }
 
@@ -103,11 +104,17 @@ static int zpff_init(struct hid_device *hid)
        zpff->report->field[3]->value[0] = 0x00;
        usbhid_submit_report(hid, zpff->report, USB_DIR_OUT);
 
-       printk(KERN_INFO "Force feedback for Zeroplus based devices by "
+       dev_info(&hid->dev, "force feedback for Zeroplus based devices by "
               "Anssi Hannula <anssi.hannula@gmail.com>\n");
 
        return 0;
 }
+#else
+static inline int zpff_init(struct hid_device *hid)
+{
+       return 0;
+}
+#endif
 
 static int zp_probe(struct hid_device *hdev, const struct hid_device_id *id)
 {
@@ -145,12 +152,12 @@ static struct hid_driver zp_driver = {
        .probe = zp_probe,
 };
 
-static int zp_init(void)
+static int __init zp_init(void)
 {
        return hid_register_driver(&zp_driver);
 }
 
-static void zp_exit(void)
+static void __exit zp_exit(void)
 {
        hid_unregister_driver(&zp_driver);
 }
@@ -158,5 +165,3 @@ static void zp_exit(void)
 module_init(zp_init);
 module_exit(zp_exit);
 MODULE_LICENSE("GPL");
-
-HID_COMPAT_LOAD_DRIVER(zeroplus);