summaryrefslogtreecommitdiffstats
path: root/include/linux/usb
diff options
context:
space:
mode:
authorMichal Nazarewicz <mina86@mina86.com>2011-08-30 17:11:19 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-18 01:29:04 -0700
commite538dfdae85244fd2c4231725d82cc1f1bc4942c (patch)
treef8471dd9af305b95557d29a30f427c85418b1621 /include/linux/usb
parentc58a76cdd7ab5a945a44fd2d64f6faf40323f95b (diff)
downloadop-kernel-dev-e538dfdae85244fd2c4231725d82cc1f1bc4942c.zip
op-kernel-dev-e538dfdae85244fd2c4231725d82cc1f1bc4942c.tar.gz
usb: Provide usb_speed_string() function
In a few places in the kernel, the code prints a human-readable USB device speed (eg. "high speed"). This involves a switch statement sometimes wrapped around in ({ ... }) block leading to code repetition. To mitigate this issue, this commit introduces usb_speed_string() function, which returns a human-readable name of provided speed. It also changes a few places switch was used to use this new function. This changes a bit the way the speed is printed in few instances at the same time standardising it. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/usb')
-rw-r--r--include/linux/usb/ch9.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/usb/ch9.h b/include/linux/usb/ch9.h
index 1ded281..f32a64e 100644
--- a/include/linux/usb/ch9.h
+++ b/include/linux/usb/ch9.h
@@ -868,6 +868,18 @@ enum usb_device_speed {
USB_SPEED_SUPER, /* usb 3.0 */
};
+#ifdef __KERNEL__
+
+/**
+ * usb_speed_string() - Returns human readable-name of the speed.
+ * @speed: The speed to return human-readable name for. If it's not
+ * any of the speeds defined in usb_device_speed enum, string for
+ * USB_SPEED_UNKNOWN will be returned.
+ */
+extern const char *usb_speed_string(enum usb_device_speed speed);
+
+#endif
+
enum usb_device_state {
/* NOTATTACHED isn't in the USB spec, and this state acts
* the same as ATTACHED ... but it's clearer this way.
OpenPOWER on IntegriCloud