Since we have ehci(4) isoc support now, don't demote USB2 uvideo(4)
authormglocker <mglocker@openbsd.org>
Mon, 11 Aug 2008 05:37:01 +0000 (05:37 +0000)
committermglocker <mglocker@openbsd.org>
Mon, 11 Aug 2008 05:37:01 +0000 (05:37 +0000)
devices to USB1, instead let them attach to ehci(4).

This may break a couple of the devices for the moment, but it's the way
we have to go finally.

sys/dev/usb/usb_quirks.c
sys/dev/usb/uvideo.c

index 39c2068..2d8cd40 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: usb_quirks.c,v 1.44 2008/07/22 16:24:40 mglocker Exp $ */
+/*     $OpenBSD: usb_quirks.c,v 1.45 2008/08/11 05:37:01 mglocker Exp $ */
 /*     $NetBSD: usb_quirks.c,v 1.45 2003/05/10 17:47:14 hamajima Exp $ */
 /*     $FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.30 2003/01/02 04:15:55 imp Exp $     */
 
@@ -149,9 +149,6 @@ const struct usbd_quirk_entry {
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,          ANY,   { UQ_BAD_HID }},
  { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,            ANY,   { UQ_BAD_HID }},
 
-/* devices which are UVC compatible (uvideo) but don't set UDCLASS_VIDEO */
-{ USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAMOEM_1,
-       ANY, { UQ_EHCI_NEEDTO_DISOWN }},
  { 0, 0, 0, { 0 } }
 };
 
@@ -162,7 +159,6 @@ const struct usbd_dev_quirk_entry {
        u_int8_t bDeviceProtocol;
        struct usbd_quirks quirks;
 } usb_dev_quirks[] = {
- { UDCLASS_VIDEO, bANY,        bANY,   { UQ_EHCI_NEEDTO_DISOWN }},
  { 0, 0, 0, { 0 } }
 };
 
index d4542db..e93139b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: uvideo.c,v 1.78 2008/08/10 10:01:25 mglocker Exp $ */
+/*     $OpenBSD: uvideo.c,v 1.79 2008/08/11 05:37:01 mglocker Exp $ */
 
 /*
  * Copyright (c) 2008 Robert Nagy <robert@openbsd.org>
@@ -207,9 +207,6 @@ struct video_hw_if uvideo_hw_if = {
  * they are.  They report UICLASS_VENDOR in the bInterfaceClass
  * instead of UICLASS_VIDEO.  Give those devices a chance to attach
  * by looking up their USB ID.
- *
- * If the device also doesn't set UDCLASS_VIDEO you need to add an
- * entry in usb_quirks.c, too, so the ehci disown works.
  */
 static const struct usb_devno uvideo_quirk_devs [] = {
        { USB_VENDOR_LOGITECH,  USB_PRODUCT_LOGITECH_QUICKCAMOEM_1 }
@@ -327,12 +324,6 @@ uvideo_attach(struct device *parent, struct device *self, void *aux)
 
        sc->sc_udev = uaa->device;
 
-       if (uaa->device->bus->usbrev == USBREV_2_0) {
-               printf("%s: ehci(4) does not support isochronous transfers "
-                   "yet, disable it.\n", DEVNAME(sc));
-               return; 
-       }
-
        /* get the config descriptor */
        cdesc = usbd_get_config_descriptor(sc->sc_udev);
        if (cdesc == NULL) {