summaryrefslogtreecommitdiff
path: root/include/linux/usb.h
diff options
context:
space:
mode:
authorMatthew Garrett <mjg@redhat.com>2012-02-03 17:11:54 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-09 08:40:11 -0800
commit0846e7e9856c0928223447d9349a877202a63f24 (patch)
tree1ef6df58927568478e17396855c579ad45aa9fee /include/linux/usb.h
parentaf74d2dae8f85a0e90a30594beb507f5d954fa3f (diff)
downloadlwn-0846e7e9856c0928223447d9349a877202a63f24.tar.gz
lwn-0846e7e9856c0928223447d9349a877202a63f24.zip
usb: Add support for indicating whether a port is removable
Userspace may want to make policy decisions based on whether or not a given USB device is removable. Add a per-device member and support for exposing it in sysfs. Information sources to populate it will be added later. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/usb.h')
-rw-r--r--include/linux/usb.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 27a4e16d2bf1..b2eb3a47caf5 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -376,6 +376,12 @@ struct usb_bus {
struct usb_tt;
+enum usb_device_removable {
+ USB_DEVICE_REMOVABLE_UNKNOWN = 0,
+ USB_DEVICE_REMOVABLE,
+ USB_DEVICE_FIXED,
+};
+
/**
* struct usb_device - kernel's representation of a USB device
* @devnum: device number; address on a USB bus
@@ -432,6 +438,7 @@ struct usb_tt;
* @wusb_dev: if this is a Wireless USB device, link to the WUSB
* specific data for the device.
* @slot_id: Slot ID assigned by xHCI
+ * @removable: Device can be physically removed from this port
*
* Notes:
* Usbcore drivers should not set usbdev->state directly. Instead use
@@ -509,6 +516,7 @@ struct usb_device {
#endif
struct wusb_dev *wusb_dev;
int slot_id;
+ enum usb_device_removable removable;
};
#define to_usb_device(d) container_of(d, struct usb_device, dev)