]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/usb/core/quirks.c
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-omap-h63xx.git] / drivers / usb / core / quirks.c
index d9d1eb19f2a134ecde7a5f5bad21cb195da0bdb1..c070b34b669de70da98c450eaf7ac4d48e85ec93 100644 (file)
@@ -47,9 +47,19 @@ static const struct usb_device_id usb_quirk_list[] = {
        /* Edirol SD-20 */
        { USB_DEVICE(0x0582, 0x0027), .driver_info = USB_QUIRK_RESET_RESUME },
 
+       /* appletouch */
+       { USB_DEVICE(0x05ac, 0x021a), .driver_info = USB_QUIRK_RESET_RESUME },
+
+       /* Avision AV600U */
+       { USB_DEVICE(0x0638, 0x0a13), .driver_info =
+         USB_QUIRK_STRING_FETCH_255 },
+
        /* M-Systems Flash Disk Pioneers */
        { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
 
+       /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */
+       { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
+
        /* Action Semiconductor flash disk */
        { USB_DEVICE(0x10d6, 0x2200), .driver_info =
                        USB_QUIRK_STRING_FETCH_255 },
@@ -94,4 +104,18 @@ void usb_detect_quirks(struct usb_device *udev)
        if (udev->descriptor.bDeviceClass != USB_CLASS_HUB)
                udev->autosuspend_disabled = 1;
 #endif
+
+       /* For the present, all devices default to USB-PERSIST enabled */
+#if 0          /* was: #ifdef CONFIG_PM */
+       /* Hubs are automatically enabled for USB-PERSIST */
+       if (udev->descriptor.bDeviceClass == USB_CLASS_HUB)
+               udev->persist_enabled = 1;
+
+#else
+       /* In the absence of PM, we can safely enable USB-PERSIST
+        * for all devices.  It will affect things like hub resets
+        * and EMF-related port disables.
+        */
+       udev->persist_enabled = 1;
+#endif /* CONFIG_PM */
 }