On Thu, Jan 24, 2013 at 10:40:36PM +0200, Felipe Balbi wrote: > this function will receive enum usb_device_state > and return a human-readable string from it or, > case an unknown value is passed as argument, > the string "UNKNOWN". > > Signed-off-by: Felipe Balbi <balbi@xxxxxx> > --- > drivers/usb/usb-common.c | 21 +++++++++++++++++++++ > include/linux/usb/ch9.h | 9 +++++++++ > 2 files changed, 30 insertions(+) > > diff --git a/drivers/usb/usb-common.c b/drivers/usb/usb-common.c > index d29503e..070b681 100644 > --- a/drivers/usb/usb-common.c > +++ b/drivers/usb/usb-common.c > @@ -32,4 +32,25 @@ const char *usb_speed_string(enum usb_device_speed speed) > } > EXPORT_SYMBOL_GPL(usb_speed_string); > > +const char *usb_state_string(enum usb_device_state state) > +{ > + static const char *const names[] = { > + [USB_STATE_NOTATTACHED] = "not attached", > + [USB_STATE_ATTACHED] = "attached", > + [USB_STATE_POWERED] = "powered", > + [USB_STATE_RECONNECTING] = "reconnecting", > + [USB_STATE_UNAUTHENTICATED] = "unauthenticated", > + [USB_STATE_DEFAULT] = "default", > + [USB_STATE_ADDRESS] = "addresssed", > + [USB_STATE_CONFIGURED] = "configured", > + [USB_STATE_SUSPENDED] = "suspended", > + }; Hi Felipe, I just ask again what's the meaning of "reconnecting"? I also try to understand at your coming dwc patch (3/3), but can't find the reference. > + > + if (state < 0 || state >= ARRAY_SIZE(names)) > + return "UNKNOWN"; > + > + return names[state]; > +} > +EXPORT_SYMBOL_GPL(usb_state_string); > + > MODULE_LICENSE("GPL"); > diff --git a/include/linux/usb/ch9.h b/include/linux/usb/ch9.h > index 9c210f2..27603bc 100644 > --- a/include/linux/usb/ch9.h > +++ b/include/linux/usb/ch9.h > @@ -43,4 +43,13 @@ > */ > extern const char *usb_speed_string(enum usb_device_speed speed); > > + > +/** > + * usb_state_string - Returns human readable name for the state. > + * @state: The state to return a human-readable name for. If it's not > + * any of the states devices in usb_device_state_string enum, > + * the string UNKNOWN will be returned. > + */ > +extern const char *usb_state_string(enum usb_device_state state); > + > #endif /* __LINUX_USB_CH9_H */ > -- > 1.8.1.rc1.5.g7e0651a > > -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html