aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/usb.h10
-rw-r--r--include/linux/usb/hcd.h10
2 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 191af498c4f5..1ea25377ca0d 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -570,6 +570,16 @@ static inline void usb_mark_last_busy(struct usb_device *udev)
570/* for drivers using iso endpoints */ 570/* for drivers using iso endpoints */
571extern int usb_get_current_frame_number(struct usb_device *usb_dev); 571extern int usb_get_current_frame_number(struct usb_device *usb_dev);
572 572
573/* Sets up a group of bulk endpoints to support multiple stream IDs. */
574extern int usb_alloc_streams(struct usb_interface *interface,
575 struct usb_host_endpoint **eps, unsigned int num_eps,
576 unsigned int num_streams, gfp_t mem_flags);
577
578/* Reverts a group of bulk endpoints back to not using stream IDs. */
579extern void usb_free_streams(struct usb_interface *interface,
580 struct usb_host_endpoint **eps, unsigned int num_eps,
581 gfp_t mem_flags);
582
573/* used these for multi-interface device registration */ 583/* used these for multi-interface device registration */
574extern int usb_driver_claim_interface(struct usb_driver *driver, 584extern int usb_driver_claim_interface(struct usb_driver *driver,
575 struct usb_interface *iface, void *priv); 585 struct usb_interface *iface, void *priv);
diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h
index d268415b7a40..aca73a5c3af7 100644
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -250,6 +250,16 @@ struct hc_driver {
250 int (*alloc_dev)(struct usb_hcd *, struct usb_device *); 250 int (*alloc_dev)(struct usb_hcd *, struct usb_device *);
251 /* Called by usb_disconnect to free HC device structures */ 251 /* Called by usb_disconnect to free HC device structures */
252 void (*free_dev)(struct usb_hcd *, struct usb_device *); 252 void (*free_dev)(struct usb_hcd *, struct usb_device *);
253 /* Change a group of bulk endpoints to support multiple stream IDs */
254 int (*alloc_streams)(struct usb_hcd *hcd, struct usb_device *udev,
255 struct usb_host_endpoint **eps, unsigned int num_eps,
256 unsigned int num_streams, gfp_t mem_flags);
257 /* Reverts a group of bulk endpoints back to not using stream IDs.
258 * Can fail if we run out of memory.
259 */
260 int (*free_streams)(struct usb_hcd *hcd, struct usb_device *udev,
261 struct usb_host_endpoint **eps, unsigned int num_eps,
262 gfp_t mem_flags);
253 263
254 /* Bandwidth computation functions */ 264 /* Bandwidth computation functions */
255 /* Note that add_endpoint() can only be called once per endpoint before 265 /* Note that add_endpoint() can only be called once per endpoint before