aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r--drivers/usb/host/xhci.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 443d6333f280..e9217bb288ad 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1174,12 +1174,16 @@ struct xhci_bus_state {
1174 1174
1175static inline unsigned int hcd_index(struct usb_hcd *hcd) 1175static inline unsigned int hcd_index(struct usb_hcd *hcd)
1176{ 1176{
1177 return 0; 1177 if (hcd->speed == HCD_USB3)
1178 return 0;
1179 else
1180 return 1;
1178} 1181}
1179 1182
1180/* There is one ehci_hci structure per controller */ 1183/* There is one ehci_hci structure per controller */
1181struct xhci_hcd { 1184struct xhci_hcd {
1182 struct usb_hcd *main_hcd; 1185 struct usb_hcd *main_hcd;
1186 struct usb_hcd *shared_hcd;
1183 /* glue to PCI and HCD framework */ 1187 /* glue to PCI and HCD framework */
1184 struct xhci_cap_regs __iomem *cap_regs; 1188 struct xhci_cap_regs __iomem *cap_regs;
1185 struct xhci_op_regs __iomem *op_regs; 1189 struct xhci_op_regs __iomem *op_regs;
@@ -1262,10 +1266,8 @@ struct xhci_hcd {
1262#define XHCI_LINK_TRB_QUIRK (1 << 0) 1266#define XHCI_LINK_TRB_QUIRK (1 << 0)
1263#define XHCI_RESET_EP_QUIRK (1 << 1) 1267#define XHCI_RESET_EP_QUIRK (1 << 1)
1264#define XHCI_NEC_HOST (1 << 2) 1268#define XHCI_NEC_HOST (1 << 2)
1265 /* There's only one roothub to keep track of bus suspend info for 1269 /* There are two roothubs to keep track of bus suspend info for */
1266 * (right now). 1270 struct xhci_bus_state bus_state[2];
1267 */
1268 struct xhci_bus_state bus_state[1];
1269 /* Is each xHCI roothub port a USB 3.0, USB 2.0, or USB 1.1 port? */ 1271 /* Is each xHCI roothub port a USB 3.0, USB 2.0, or USB 1.1 port? */
1270 u8 *port_array; 1272 u8 *port_array;
1271 /* Array of pointers to USB 3.0 PORTSC registers */ 1273 /* Array of pointers to USB 3.0 PORTSC registers */