Bluetooth: Add support for Intel bootloader devices
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / bluetooth / btusb.c
index 8d1c2f7c8ba5ee55d2462c34e19e04a303050643..5fd1674fd15d77c560d898ab5f698226bdf5704c 100644 (file)
@@ -49,6 +49,7 @@ static struct usb_driver btusb_driver;
 #define BTUSB_WRONG_SCO_MTU    0x40
 #define BTUSB_ATH3012          0x80
 #define BTUSB_INTEL            0x100
+#define BTUSB_INTEL_BOOT       0x200
 
 static struct usb_device_id btusb_table[] = {
        /* Generic Bluetooth USB device */
@@ -116,6 +117,9 @@ static struct usb_device_id btusb_table[] = {
        /* IMC Networks - Broadcom based */
        { USB_VENDOR_AND_INTERFACE_INFO(0x13d3, 0xff, 0x01, 0x01) },
 
+       /* Intel Bluetooth USB Bootloader (RAM module) */
+       { USB_DEVICE(0x8087, 0x0a5a), .driver_info = BTUSB_INTEL_BOOT },
+
        { }     /* Terminating entry */
 };
 
@@ -1449,6 +1453,9 @@ static int btusb_probe(struct usb_interface *intf,
        if (id->driver_info & BTUSB_INTEL)
                hdev->setup = btusb_setup_intel;
 
+       if (id->driver_info & BTUSB_INTEL_BOOT)
+               set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks);
+
        /* Interface numbers are hardcoded in the specification */
        data->isoc = usb_ifnum_to_if(data->udev, 1);