summaryrefslogtreecommitdiffstats
path: root/include/linux/usb.h
diff options
context:
space:
mode:
authorValentina Manea <valentina.manea.m@gmail.com>2014-01-23 23:12:29 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-07 10:54:30 -0800
commitb7945b77cd03094458f3624bc82a27e0d36e75d0 (patch)
tree55fa77ff4d051b90a69e2fca601dea3c3c7562c1 /include/linux/usb.h
parenta6646ea683c0c73962cb67aea9be40b11b916de5 (diff)
downloadlinux-b7945b77cd03094458f3624bc82a27e0d36e75d0.tar.gz
linux-b7945b77cd03094458f3624bc82a27e0d36e75d0.tar.bz2
linux-b7945b77cd03094458f3624bc82a27e0d36e75d0.zip
staging: usbip: convert usbip-host driver to usb_device_driver
This driver was previously an interface driver. Since USB/IP exports a whole device, not just an interface, it would make sense to be a device driver. This patch also modifies the way userspace sees and uses a shared device: * the usbip_status file is no longer created for interface 0, but for the whole device (such as /sys/devices/pci0000:00/0000:00:01.2/usb1/1-1/usbip_status). * per interface information, such as interface class or protocol, is no longer sent/received; only device specific information is transmitted. * since the driver was moved one level below in the USB architecture, there is no need to bind/unbind each interface, just the device as a whole. Signed-off-by: Valentina Manea <valentina.manea.m@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/usb.h')
-rw-r--r--include/linux/usb.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index c716da18c668..f434619f3975 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -1668,6 +1668,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