Merge tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[linux-2.6-block.git] / include / linux / usb.h
index f1015cee5944102c184fca56936c1f451010a20b..6b7ec376fb4d98baa5ec5a8fa33fd2d83b06343e 100644 (file)
@@ -370,6 +370,8 @@ struct usb_bus {
 #endif
 };
 
+struct usb_dev_state;
+
 /* ----------------------------------------------------------------------- */
 
 struct usb_tt;
@@ -753,6 +755,11 @@ extern struct usb_host_interface *usb_find_alt_setting(
                unsigned int iface_num,
                unsigned int alt_num);
 
+/* port claiming functions */
+int usb_hub_claim_port(struct usb_device *hdev, unsigned port1,
+               struct usb_dev_state *owner);
+int usb_hub_release_port(struct usb_device *hdev, unsigned port1,
+               struct usb_dev_state *owner);
 
 /**
  * usb_make_path - returns stable device path in the usb tree
@@ -1670,6 +1677,10 @@ extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr);
 /* this request isn't really synchronous, but it belongs with the others */
 extern int usb_driver_set_configuration(struct usb_device *udev, int config);
 
+/* choose and set configuration for device */
+extern int usb_choose_configuration(struct usb_device *udev);
+extern int usb_set_configuration(struct usb_device *dev, int configuration);
+
 /*
  * timeouts, in milliseconds, used for sending/receiving control messages
  * they typically complete within a few frames (msec) after they're issued