summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-04 13:02:00 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-04 13:02:00 +0200
commit8265fb7c2559a4d245fed095b6af97bd8629d233 (patch)
tree293fefbac30301f47cd2c746c90a1f52177ac6b5
parentRevert "usb:gadget Simplify usb_decode_get_set_descriptor function." (diff)
downloadlinux-8265fb7c2559a4d245fed095b6af97bd8629d233.tar.xz
linux-8265fb7c2559a4d245fed095b6af97bd8629d233.zip
Revert "usb:gadget Patch simplify usb_decode_set_clear_feature function."
This reverts commit ca888ce7495e4e1578c86c37b0c82f6709da477c. It's broken. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Felipe Balbi <balbi@kernel.org> Cc: Pawel Laszczak <pawell@cadence.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/gadget/debug.c89
1 files changed, 46 insertions, 43 deletions
diff --git a/drivers/usb/gadget/debug.c b/drivers/usb/gadget/debug.c
index 60a9f70a0904..d5a469bc67a3 100644
--- a/drivers/usb/gadget/debug.c
+++ b/drivers/usb/gadget/debug.c
@@ -30,55 +30,58 @@ static void usb_decode_get_status(__u8 bRequestType, __u16 wIndex,
}
}
-static const char *usb_decode_device_feature(u16 wValue)
-{
- switch (wValue) {
- case USB_DEVICE_SELF_POWERED:
- return "Self Powered";
- case USB_DEVICE_REMOTE_WAKEUP:
- return "Remote Wakeup";
- case USB_DEVICE_TEST_MODE:
- return "Test Mode";
- case USB_DEVICE_U1_ENABLE:
- return "U1 Enable";
- case USB_DEVICE_U2_ENABLE:
- return "U2 Enable";
- case USB_DEVICE_LTM_ENABLE:
- return "LTM Enable";
- default:
- return "UNKNOWN";
- }
-}
-
-static const char *usb_decode_test_mode(u16 wIndex)
-{
- switch (wIndex) {
- case TEST_J:
- return ": TEST_J";
- case TEST_K:
- return ": TEST_K";
- case TEST_SE0_NAK:
- return ": TEST_SE0_NAK";
- case TEST_PACKET:
- return ": TEST_PACKET";
- case TEST_FORCE_EN:
- return ": TEST_FORCE_EN";
- default:
- return ": UNKNOWN";
- }
-}
-
-static void usb_decode_set_clear_feature(__u8 bRequestType,
- __u8 bRequest, __u16 wValue,
- __u16 wIndex, char *str, size_t size)
+static void usb_decode_set_clear_feature(__u8 bRequestType, __u8 bRequest,
+ __u16 wValue, __u16 wIndex,
+ char *str, size_t size)
{
switch (bRequestType & USB_RECIP_MASK) {
case USB_RECIP_DEVICE:
snprintf(str, size, "%s Device Feature(%s%s)",
bRequest == USB_REQ_CLEAR_FEATURE ? "Clear" : "Set",
- usb_decode_device_feature(wValue),
+ ({char *s;
+ switch (wValue) {
+ case USB_DEVICE_SELF_POWERED:
+ s = "Self Powered";
+ break;
+ case USB_DEVICE_REMOTE_WAKEUP:
+ s = "Remote Wakeup";
+ break;
+ case USB_DEVICE_TEST_MODE:
+ s = "Test Mode";
+ break;
+ case USB_DEVICE_U1_ENABLE:
+ s = "U1 Enable";
+ break;
+ case USB_DEVICE_U2_ENABLE:
+ s = "U2 Enable";
+ break;
+ case USB_DEVICE_LTM_ENABLE:
+ s = "LTM Enable";
+ break;
+ default:
+ s = "UNKNOWN";
+ } s; }),
wValue == USB_DEVICE_TEST_MODE ?
- usb_decode_test_mode(wIndex) : "");
+ ({ char *s;
+ switch (wIndex) {
+ case TEST_J:
+ s = ": TEST_J";
+ break;
+ case TEST_K:
+ s = ": TEST_K";
+ break;
+ case TEST_SE0_NAK:
+ s = ": TEST_SE0_NAK";
+ break;
+ case TEST_PACKET:
+ s = ": TEST_PACKET";
+ break;
+ case TEST_FORCE_EN:
+ s = ": TEST_FORCE_EN";
+ break;
+ default:
+ s = ": UNKNOWN";
+ } s; }) : "");
break;
case USB_RECIP_INTERFACE:
snprintf(str, size, "%s Interface Feature(%s)",