]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] USB: Prevent hid-core claiming Apple Bluetooth device on new G4 powerbooks
authorAndrew de Quincey <adq_dvb@lidskialf.net>
Thu, 4 Aug 2005 22:16:12 +0000 (23:16 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 8 Sep 2005 23:22:29 +0000 (16:22 -0700)
To recap: My new G4 powerbook has a bluetooth device that boots up in
what apppears to be a compatability mode - it looks exactly like an HID
keyboard/mouse device.

A special command sequence is sent to switch it into full bluetooth
mode. When this occurs the original HID device vanishes, and a new
(bluetooth HID) USB device appears on the bus with a different product
ID.

The original thread is here:
http://sourceforge.net/mailarchive/message.php?msg_id=12532263

The attached patch adds the device to the hid-core quirks so that
hid-core ignores it.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/input/hid-core.c

index b2cb2b35892e51eb57ebd80f7071f556831f5949..719c0316cc39500f415a09d58040ad798f430e07 100644 (file)
@@ -1444,6 +1444,8 @@ void hid_init_reports(struct hid_device *hid)
 #define USB_DEVICE_ID_NETWORKANALYSER  0x2020
 #define USB_DEVICE_ID_POWERCONTROL     0x2030
 
+#define USB_VENDOR_ID_APPLE            0x05ac
+#define USB_DEVICE_ID_APPLE_BLUETOOTH          0x1000
 
 /*
  * Alphabetically sorted blacklist by quirk type.
@@ -1462,6 +1464,7 @@ static struct hid_blacklist {
        { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_22, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_23, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_24, HID_QUIRK_IGNORE },
+       { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_BLUETOOTH, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_BERKSHIRE, USB_DEVICE_ID_BERKSHIRE_PCWD, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24, HID_QUIRK_IGNORE },