diff options
author | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2009-08-07 17:04:43 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-09-23 09:46:17 -0400 |
commit | f2217e8edd95b0428d8123d426e0097a5e955f9f (patch) | |
tree | 2364fb618dcae52cc8b6a947ce75152983dc3a9a /drivers/usb/host/xhci.h | |
parent | 018218d1d9eb06116d24a02dd5e7a390f0353d0f (diff) |
USB: xhci: Configure endpoint code refactoring.
Refactor out the code issue, wait for, and parse the event completion code
for a configure endpoint command. Modify it to support the evaluate
context command, which has a very similar submission process. Add
functions to copy parts of the output context into the input context
(which will be used in the evaluate context command).
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r-- | drivers/usb/host/xhci.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 79ea627e8b8a..a8fe21762052 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h | |||
@@ -1168,6 +1168,9 @@ int xhci_setup_addressable_virt_dev(struct xhci_hcd *xhci, struct usb_device *ud | |||
1168 | unsigned int xhci_get_endpoint_index(struct usb_endpoint_descriptor *desc); | 1168 | unsigned int xhci_get_endpoint_index(struct usb_endpoint_descriptor *desc); |
1169 | unsigned int xhci_get_endpoint_flag(struct usb_endpoint_descriptor *desc); | 1169 | unsigned int xhci_get_endpoint_flag(struct usb_endpoint_descriptor *desc); |
1170 | void xhci_endpoint_zero(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_host_endpoint *ep); | 1170 | void xhci_endpoint_zero(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_host_endpoint *ep); |
1171 | void xhci_endpoint_copy(struct xhci_hcd *xhci, | ||
1172 | struct xhci_virt_device *vdev, unsigned int ep_index); | ||
1173 | void xhci_slot_copy(struct xhci_hcd *xhci, struct xhci_virt_device *vdev); | ||
1171 | int xhci_endpoint_init(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, | 1174 | int xhci_endpoint_init(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, |
1172 | struct usb_device *udev, struct usb_host_endpoint *ep, | 1175 | struct usb_device *udev, struct usb_host_endpoint *ep, |
1173 | gfp_t mem_flags); | 1176 | gfp_t mem_flags); |
@@ -1216,6 +1219,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb, | |||
1216 | int slot_id, unsigned int ep_index); | 1219 | int slot_id, unsigned int ep_index); |
1217 | int xhci_queue_configure_endpoint(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, | 1220 | int xhci_queue_configure_endpoint(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, |
1218 | u32 slot_id); | 1221 | u32 slot_id); |
1222 | int xhci_queue_evaluate_context(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, | ||
1223 | u32 slot_id); | ||
1219 | int xhci_queue_reset_ep(struct xhci_hcd *xhci, int slot_id, | 1224 | int xhci_queue_reset_ep(struct xhci_hcd *xhci, int slot_id, |
1220 | unsigned int ep_index); | 1225 | unsigned int ep_index); |
1221 | void xhci_find_new_dequeue_state(struct xhci_hcd *xhci, | 1226 | void xhci_find_new_dequeue_state(struct xhci_hcd *xhci, |