:: [maemo-leste] [PATCH v2] usb: gadge…
Top Page
Delete this message
Reply to this message
Author: Pali Rohár
Date:  
To: Lokesh Vutla, Lukasz Majewski, Marek Vasut, Simon Glass
CC: u-boot, maemo-leste
Subject: [maemo-leste] [PATCH v2] usb: gadget: Do not export usbd_device_* arrays
Each array is used only in one file (core.c or ep0.c). Move their content
to correct file, mark them as static and do not export out of current file.

This change allows to decrease size of u-boot.bin as more of those strings
are not used.

Signed-off-by: Pali Rohár <pali@???>

---
Changes in v2:
* Move usbd_device_descriptors[] into ep0.c where it is used
---
 drivers/usb/gadget/core.c | 45 ++++----------------------------------
 drivers/usb/gadget/ep0.c  | 46 +++++++++++++++++++++++++++++++++++++++
 include/usbdevice.h       | 15 -------------
 3 files changed, 50 insertions(+), 56 deletions(-)


diff --git a/drivers/usb/gadget/core.c b/drivers/usb/gadget/core.c
index 3781d25fd6..888f0cfea6 100644
--- a/drivers/usb/gadget/core.c
+++ b/drivers/usb/gadget/core.c
@@ -36,7 +36,7 @@ extern struct usb_function_driver ep0_driver;
int registered_functions;
int registered_devices;

-char *usbd_device_events[] = {
+__maybe_unused static char *usbd_device_events[] = {
     "DEVICE_UNKNOWN",
     "DEVICE_INIT",
     "DEVICE_CREATE",
@@ -56,52 +56,15 @@ char *usbd_device_events[] = {
     "DEVICE_FUNCTION_PRIVATE",
 };


-char *usbd_device_states[] = {
-    "STATE_INIT",
-    "STATE_CREATED",
-    "STATE_ATTACHED",
-    "STATE_POWERED",
-    "STATE_DEFAULT",
-    "STATE_ADDRESSED",
-    "STATE_CONFIGURED",
-    "STATE_UNKNOWN",
-};
-
-char *usbd_device_requests[] = {
-    "GET STATUS",        /* 0 */
-    "CLEAR FEATURE",    /* 1 */
-    "RESERVED",        /* 2 */
-    "SET FEATURE",        /* 3 */
-    "RESERVED",        /* 4 */
-    "SET ADDRESS",        /* 5 */
-    "GET DESCRIPTOR",    /* 6 */
-    "SET DESCRIPTOR",    /* 7 */
-    "GET CONFIGURATION",    /* 8 */
-    "SET CONFIGURATION",    /* 9 */
-    "GET INTERFACE",    /* 10 */
-    "SET INTERFACE",    /* 11 */
-    "SYNC FRAME",        /* 12 */
-};
-
-char *usbd_device_descriptors[] = {
-    "UNKNOWN",        /* 0 */
-    "DEVICE",        /* 1 */
-    "CONFIG",        /* 2 */
-    "STRING",        /* 3 */
-    "INTERFACE",        /* 4 */
-    "ENDPOINT",        /* 5 */
-    "DEVICE QUALIFIER",    /* 6 */
-    "OTHER SPEED",        /* 7 */
-    "INTERFACE POWER",    /* 8 */
-};
-
-char *usbd_device_status[] = {
+__maybe_unused static char *usbd_device_status[] = {
     "USBD_OPENING",
     "USBD_OK",
     "USBD_SUSPENDED",
     "USBD_CLOSING",
 };


+#define USBD_DEVICE_STATUS(x) (((unsigned int)x <= USBD_CLOSING) ? usbd_device_status[x] : "UNKNOWN")
+

/* Descriptor support functions ************************************************************** */

diff --git a/drivers/usb/gadget/ep0.c b/drivers/usb/gadget/ep0.c
index 6fabee24ce..457679f0a4 100644
--- a/drivers/usb/gadget/ep0.c
+++ b/drivers/usb/gadget/ep0.c
@@ -46,6 +46,52 @@
#define dbg_ep0(lvl,fmt,args...)
#endif

+__maybe_unused static char *usbd_device_descriptors[] = {
+    "UNKNOWN",        /* 0 */
+    "DEVICE",        /* 1 */
+    "CONFIG",        /* 2 */
+    "STRING",        /* 3 */
+    "INTERFACE",        /* 4 */
+    "ENDPOINT",        /* 5 */
+    "DEVICE QUALIFIER",    /* 6 */
+    "OTHER SPEED",        /* 7 */
+    "INTERFACE POWER",    /* 8 */
+};
+
+#define USBD_DEVICE_DESCRIPTORS(x) (((unsigned int)x <= USB_DESCRIPTOR_TYPE_INTERFACE_POWER) ? \
+        usbd_device_descriptors[x] : "UNKNOWN")
+
+__maybe_unused static char *usbd_device_states[] = {
+    "STATE_INIT",
+    "STATE_CREATED",
+    "STATE_ATTACHED",
+    "STATE_POWERED",
+    "STATE_DEFAULT",
+    "STATE_ADDRESSED",
+    "STATE_CONFIGURED",
+    "STATE_UNKNOWN",
+};
+
+#define USBD_DEVICE_STATE(x) (((unsigned int)x <= STATE_UNKNOWN) ? usbd_device_states[x] : "UNKNOWN")
+
+__maybe_unused static char *usbd_device_requests[] = {
+    "GET STATUS",        /* 0 */
+    "CLEAR FEATURE",    /* 1 */
+    "RESERVED",        /* 2 */
+    "SET FEATURE",        /* 3 */
+    "RESERVED",        /* 4 */
+    "SET ADDRESS",        /* 5 */
+    "GET DESCRIPTOR",    /* 6 */
+    "SET DESCRIPTOR",    /* 7 */
+    "GET CONFIGURATION",    /* 8 */
+    "SET CONFIGURATION",    /* 9 */
+    "GET INTERFACE",    /* 10 */
+    "SET INTERFACE",    /* 11 */
+    "SYNC FRAME",        /* 12 */
+};
+
+#define USBD_DEVICE_REQUESTS(x) (((unsigned int)x <= USB_REQ_SYNCH_FRAME) ? usbd_device_requests[x] : "UNKNOWN")
+
 /* EP0 Configuration Set ********************************************************************* */



diff --git a/include/usbdevice.h b/include/usbdevice.h
index f479724e37..611cd6e4ab 100644
--- a/include/usbdevice.h
+++ b/include/usbdevice.h
@@ -264,8 +264,6 @@ struct usb_bus_instance;
 #define USB_REQ_SET_INTERFACE        0x0B
 #define USB_REQ_SYNCH_FRAME        0x0C


-#define USBD_DEVICE_REQUESTS(x) (((unsigned int)x <= USB_REQ_SYNCH_FRAME) ? usbd_device_requests[x] : "UNKNOWN")
-
 /*
  * HID requests
  */
@@ -332,9 +330,6 @@ struct usb_bus_instance;
 #define USB_DESCRIPTOR_TYPE_HID                0x21
 #define USB_DESCRIPTOR_TYPE_REPORT            0x22


-#define USBD_DEVICE_DESCRIPTORS(x) (((unsigned int)x <= USB_DESCRIPTOR_TYPE_INTERFACE_POWER) ? \
-        usbd_device_descriptors[x] : "UNKNOWN")
-
 /*
  * standard feature selectors
  */
@@ -388,8 +383,6 @@ typedef enum usb_device_state {
     STATE_UNKNOWN,        /* destroyed */
 } usb_device_state_t;


-#define USBD_DEVICE_STATE(x) (((unsigned int)x <= STATE_UNKNOWN) ? usbd_device_states[x] : "UNKNOWN")
-
 /*
  * Device status
  *
@@ -402,8 +395,6 @@ typedef enum usb_device_status {
     USBD_CLOSING,        /* we are currently closing */
 } usb_device_status_t;


-#define USBD_DEVICE_STATUS(x) (((unsigned int)x <= USBD_CLOSING) ? usbd_device_status[x] : "UNKNOWN")
-
/*
* Device Events
*
@@ -617,12 +608,6 @@ struct usb_bus_instance {

};

-extern char *usbd_device_events[];
-extern char *usbd_device_states[];
-extern char *usbd_device_status[];
-extern char *usbd_device_requests[];
-extern char *usbd_device_descriptors[];
-
void urb_link_init (urb_link * ul);
void urb_detach (struct urb *urb);
urb_link *first_urb_link (urb_link * hd);
--
2.20.1