aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuyang Du <yuyang.du@intel.com>2017-06-08 01:04:06 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-06-13 04:51:09 -0400
commit559e9c00b340ab4929e36a6bb176ca11f95ef46a (patch)
treea5ebc19108f858e852ecaf8e7a4a270509a1cbb2
parent5ec0edc96558a0090c7c3361adc0a5d98102cd80 (diff)
usbip: vhci-hcd: Add vhci struct
In order to support SuperSpeed devices, a USB3 HCD is added to share the USB2 HCD. As a result, a VHCI is composed of two vhci_hcds associated with the two HCDs respectively. So we add another level of abstraction, vhci, and thus this vhci structure. Signed-off-by: Yuyang Du <yuyang.du@intel.com> Acked-by: Shuah Khan <shuahkh@osg.samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/usbip/vhci.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/usb/usbip/vhci.h b/drivers/usb/usbip/vhci.h
index bff472f748a9..995958494263 100644
--- a/drivers/usb/usbip/vhci.h
+++ b/drivers/usb/usbip/vhci.h
@@ -87,8 +87,17 @@ struct vhci_unlink {
87 87
88#define MAX_STATUS_NAME 16 88#define MAX_STATUS_NAME 16
89 89
90/* for usb_bus.hcpriv */ 90struct vhci {
91 spinlock_t lock;
92
93 struct vhci_hcd *vhci_hcd_hs;
94 struct vhci_hcd *vhci_hcd_ss;
95};
96
97/* for usb_hcd.hcd_priv[0] */
91struct vhci_hcd { 98struct vhci_hcd {
99 struct vhci *vhci;
100
92 spinlock_t lock; 101 spinlock_t lock;
93 102
94 u32 port_status[VHCI_HC_PORTS]; 103 u32 port_status[VHCI_HC_PORTS];
@@ -108,6 +117,7 @@ struct vhci_hcd {
108 117
109extern int vhci_num_controllers; 118extern int vhci_num_controllers;
110extern struct platform_device **vhci_pdevs; 119extern struct platform_device **vhci_pdevs;
120extern struct vhci *vhcis;
111extern struct attribute_group vhci_attr_group; 121extern struct attribute_group vhci_attr_group;
112 122
113/* vhci_hcd.c */ 123/* vhci_hcd.c */