[U-Boot] [PATCH] usb: Make portspeed return a read-only string

Ismael Luceno Cortes ismael.luceno at silicon-gears.com
Mon Apr 1 16:09:13 UTC 2019


Current code is plain wrong, and there's no need to have a mutable string,
so fix function type and remove the intermediate variable.

Signed-off-by: Ismael Luceno <ismael.luceno at silicon-gears.com>
---
 cmd/usb.c        | 18 +++++-------------
 common/usb_hub.c | 18 +++++-------------
 2 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/cmd/usb.c b/cmd/usb.c
index 0ccb1b5148..dd9ac0bc97 100644
--- a/cmd/usb.c
+++ b/cmd/usb.c
@@ -316,26 +316,18 @@ static struct usb_device *usb_find_device(int devnum)
 	return NULL;
 }
 
-static inline char *portspeed(int speed)
+static inline const char *portspeed(int speed)
 {
-	char *speed_str;
-
 	switch (speed) {
 	case USB_SPEED_SUPER:
-		speed_str = "5 Gb/s";
-		break;
+		return "5 Gb/s";
 	case USB_SPEED_HIGH:
-		speed_str = "480 Mb/s";
-		break;
+		return "480 Mb/s";
 	case USB_SPEED_LOW:
-		speed_str = "1.5 Mb/s";
-		break;
+		return "1.5 Mb/s";
 	default:
-		speed_str = "12 Mb/s";
-		break;
+		return "12 Mb/s";
 	}
-
-	return speed_str;
 }
 
 /* shows the device tree recursively */
diff --git a/common/usb_hub.c b/common/usb_hub.c
index 33aaeb8e44..9069f4b33a 100644
--- a/common/usb_hub.c
+++ b/common/usb_hub.c
@@ -233,26 +233,18 @@ static struct usb_hub_device *usb_hub_allocate(void)
 
 #define MAX_TRIES 5
 
-static inline char *portspeed(int portstatus)
+static inline const char *portspeed(int portstatus)
 {
-	char *speed_str;
-
 	switch (portstatus & USB_PORT_STAT_SPEED_MASK) {
 	case USB_PORT_STAT_SUPER_SPEED:
-		speed_str = "5 Gb/s";
-		break;
+		return "5 Gb/s";
 	case USB_PORT_STAT_HIGH_SPEED:
-		speed_str = "480 Mb/s";
-		break;
+		return "480 Mb/s";
 	case USB_PORT_STAT_LOW_SPEED:
-		speed_str = "1.5 Mb/s";
-		break;
+		return "1.5 Mb/s";
 	default:
-		speed_str = "12 Mb/s";
-		break;
+		return "12 Mb/s";
 	}
-
-	return speed_str;
 }
 
 /**
-- 
2.19.1


More information about the U-Boot mailing list