diff options
author | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2009-04-28 06:55:01 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-06-16 08:44:48 +0400 |
commit | d2e9b4d6734db2327af3149d8ca7555307e10828 (patch) | |
tree | b5a37d14674e61b5342bf61056cf21bb21d6720a /drivers/usb/core/hub.c | |
parent | 6b403b020c1f42180b14d28d832da61167cff822 (diff) | |
download | linux-d2e9b4d6734db2327af3149d8ca7555307e10828.tar.xz |
USB: Add USB 3.0 roothub support to USB core.
Add USB 3.0 root hub descriptors. This is a kludge because I reused the old
USB 2.0 descriptors, instead of using the new USB 3.0 hub descriptors with
endpoint companion descriptors and other descriptors. I did this because I
wasn't ready to add USB 3.0 hub changes to khubd. For now, a USB 3.0 roothub
looks like a USB 2.0 roothub, with a higher speed.
USB 3.0 hubs have no transaction translator (TT).
Make USB core debugging handle super speed ports.
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core/hub.c')
-rw-r--r-- | drivers/usb/core/hub.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index fa0208e0da6a..f3fe8dfaaad1 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -155,6 +155,8 @@ static inline char *portspeed(int portstatus) return "480 Mb/s"; else if (portstatus & (1 << USB_PORT_FEAT_LOWSPEED)) return "1.5 Mb/s"; + else if (portstatus & (1 << USB_PORT_FEAT_SUPERSPEED)) + return "5.0 Gb/s"; else return "12 Mb/s"; } @@ -951,6 +953,9 @@ static int hub_configure(struct usb_hub *hub, ret); hub->tt.hub = hdev; break; + case 3: + /* USB 3.0 hubs don't have a TT */ + break; default: dev_dbg(hub_dev, "Unrecognized hub protocol %d\n", hdev->descriptor.bDeviceProtocol); |