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>
This commit is contained in:
Yuyang Du 2017-06-08 13:04:06 +08:00 committed by Greg Kroah-Hartman
parent 5ec0edc965
commit 559e9c00b3
1 changed files with 11 additions and 1 deletions

View File

@ -87,8 +87,17 @@ struct vhci_unlink {
#define MAX_STATUS_NAME 16
/* for usb_bus.hcpriv */
struct vhci {
spinlock_t lock;
struct vhci_hcd *vhci_hcd_hs;
struct vhci_hcd *vhci_hcd_ss;
};
/* for usb_hcd.hcd_priv[0] */
struct vhci_hcd {
struct vhci *vhci;
spinlock_t lock;
u32 port_status[VHCI_HC_PORTS];
@ -108,6 +117,7 @@ struct vhci_hcd {
extern int vhci_num_controllers;
extern struct platform_device **vhci_pdevs;
extern struct vhci *vhcis;
extern struct attribute_group vhci_attr_group;
/* vhci_hcd.c */