summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/usb/ohci_pci.c3
-rw-r--r--sys/dev/usb/uhci_pci.c25
-rw-r--r--sys/dev/usb/usb.c2
-rw-r--r--sys/pci/ohci_pci.c3
-rw-r--r--sys/pci/uhci_pci.c25
5 files changed, 26 insertions, 32 deletions
diff --git a/sys/dev/usb/ohci_pci.c b/sys/dev/usb/ohci_pci.c
index 8d911c8..8e1378b 100644
--- a/sys/dev/usb/ohci_pci.c
+++ b/sys/dev/usb/ohci_pci.c
@@ -146,6 +146,9 @@ ohci_pci_attach(device_t self)
void *ih;
int intr;
+ /* XXX where does it say so in the spec? */
+ sc->sc_bus.usbrev = USBREV_1_0;
+
rid = PCI_CBMEM;
res = bus_alloc_resource(self, SYS_RES_MEMORY, &rid,
0, ~0, 1, RF_ACTIVE);
diff --git a/sys/dev/usb/uhci_pci.c b/sys/dev/usb/uhci_pci.c
index bec8edb..9285174 100644
--- a/sys/dev/usb/uhci_pci.c
+++ b/sys/dev/usb/uhci_pci.c
@@ -155,7 +155,6 @@ uhci_pci_attach(device_t self)
void *ih;
struct resource *res;
device_t usbus;
- char *typestr;
int intr;
int legsup;
int err;
@@ -208,20 +207,16 @@ uhci_pci_attach(device_t self)
sprintf(sc->sc_vendor, "(0x%08x)", pci_get_devid(self));
}
- if (bootverbose) {
- switch(pci_read_config(self, PCI_USBREV, 4) & PCI_USBREV_MASK) {
- case PCI_USBREV_PRE_1_0:
- typestr = "pre 1.0";
- break;
- case PCI_USBREV_1_0:
- typestr = "1.0";
- break;
- default:
- typestr = "unknown";
- break;
- }
- device_printf(self, "USB version %s, chip rev. %d\n",
- typestr, pci_get_revid(self));
+ switch(pci_read_config(self, PCI_USBREV, 4) & PCI_USBREV_MASK) {
+ case PCI_USBREV_PRE_1_0:
+ sc->sc_bus.usbrev = USBREV_PRE_1_0;
+ break;
+ case PCI_USBREV_1_0:
+ sc->sc_bus.usbrev = USBREV_1_0;
+ break;
+ default:
+ sc->sc_bus.usbrev = USBREV_UNKNOWN;
+ break;
}
intr = pci_read_config(self, PCIR_INTLINE, 1);
diff --git a/sys/dev/usb/usb.c b/sys/dev/usb/usb.c
index 9724b3a..891aca7 100644
--- a/sys/dev/usb/usb.c
+++ b/sys/dev/usb/usb.c
@@ -211,9 +211,7 @@ USB_ATTACH(usb)
printf(": USB revision %s", usbrev_str[usbrev]);
if (usbrev != USBREV_1_0 && usbrev != USBREV_1_1) {
printf(", not supported\n");
-#if BROKEN
USB_ATTACH_ERROR_RETURN;
-#endif
}
printf("\n");
diff --git a/sys/pci/ohci_pci.c b/sys/pci/ohci_pci.c
index 8d911c8..8e1378b 100644
--- a/sys/pci/ohci_pci.c
+++ b/sys/pci/ohci_pci.c
@@ -146,6 +146,9 @@ ohci_pci_attach(device_t self)
void *ih;
int intr;
+ /* XXX where does it say so in the spec? */
+ sc->sc_bus.usbrev = USBREV_1_0;
+
rid = PCI_CBMEM;
res = bus_alloc_resource(self, SYS_RES_MEMORY, &rid,
0, ~0, 1, RF_ACTIVE);
diff --git a/sys/pci/uhci_pci.c b/sys/pci/uhci_pci.c
index bec8edb..9285174 100644
--- a/sys/pci/uhci_pci.c
+++ b/sys/pci/uhci_pci.c
@@ -155,7 +155,6 @@ uhci_pci_attach(device_t self)
void *ih;
struct resource *res;
device_t usbus;
- char *typestr;
int intr;
int legsup;
int err;
@@ -208,20 +207,16 @@ uhci_pci_attach(device_t self)
sprintf(sc->sc_vendor, "(0x%08x)", pci_get_devid(self));
}
- if (bootverbose) {
- switch(pci_read_config(self, PCI_USBREV, 4) & PCI_USBREV_MASK) {
- case PCI_USBREV_PRE_1_0:
- typestr = "pre 1.0";
- break;
- case PCI_USBREV_1_0:
- typestr = "1.0";
- break;
- default:
- typestr = "unknown";
- break;
- }
- device_printf(self, "USB version %s, chip rev. %d\n",
- typestr, pci_get_revid(self));
+ switch(pci_read_config(self, PCI_USBREV, 4) & PCI_USBREV_MASK) {
+ case PCI_USBREV_PRE_1_0:
+ sc->sc_bus.usbrev = USBREV_PRE_1_0;
+ break;
+ case PCI_USBREV_1_0:
+ sc->sc_bus.usbrev = USBREV_1_0;
+ break;
+ default:
+ sc->sc_bus.usbrev = USBREV_UNKNOWN;
+ break;
}
intr = pci_read_config(self, PCIR_INTLINE, 1);
OpenPOWER on IntegriCloud