diff options
author | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2009-04-27 22:57:38 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-06-16 00:44:49 -0400 |
commit | 3ffbba9511b4148cbe1f6b6238686adaeaca8feb (patch) | |
tree | f69e42d07d596039e049fe2b14b720ddc6be2694 /drivers/usb/host/xhci-pci.c | |
parent | c6515272b858742962c1de0f3bf497a048b9abd7 (diff) |
USB: xhci: Allocate and address USB devices
xHCI needs to get a "Slot ID" from the host controller and allocate other
data structures for every USB device. Make usb_alloc_dev() and
usb_release_dev() allocate and free these device structures. After
setting up the xHC device structures, usb_alloc_dev() must wait for the
hardware to respond to an Enable Slot command. usb_alloc_dev() fires off
a Disable Slot command and does not wait for it to complete.
When the USB core wants to choose an address for the device, the xHCI
driver must issue a Set Address command and wait for an event for that
command.
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/host/xhci-pci.c')
-rw-r--r-- | drivers/usb/host/xhci-pci.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index 005c5b264a7c..7ac12b4ffe86 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c | |||
@@ -109,6 +109,13 @@ static const struct hc_driver xhci_pci_hc_driver = { | |||
109 | .shutdown = xhci_shutdown, | 109 | .shutdown = xhci_shutdown, |
110 | 110 | ||
111 | /* | 111 | /* |
112 | * managing i/o requests and associated device resources | ||
113 | */ | ||
114 | .alloc_dev = xhci_alloc_dev, | ||
115 | .free_dev = xhci_free_dev, | ||
116 | .address_device = xhci_address_device, | ||
117 | |||
118 | /* | ||
112 | * scheduling support | 119 | * scheduling support |
113 | */ | 120 | */ |
114 | .get_frame_number = xhci_get_frame, | 121 | .get_frame_number = xhci_get_frame, |