]> git.sur5r.net Git - u-boot/commitdiff
usb: dwc2: remove control_data_toggle[]
authorStephen Warren <swarren@wwwdotorg.org>
Sun, 8 Mar 2015 05:48:54 +0000 (22:48 -0700)
committerMarek Vasut <marex@denx.de>
Tue, 14 Apr 2015 03:47:58 +0000 (05:47 +0200)
The control data toggle resets to DATA1 at the start of the data phase
of every setup transaction. We don't need a global variable to store
the value; we can just store it on the stack.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
drivers/usb/host/dwc2.c

index 189f6548f25ff2141d844fde289f169dc7a9fbed..e8a7e713c87f46c09ce1e0cea9ae465d3ec5ba18 100644 (file)
@@ -27,7 +27,6 @@ DEFINE_ALIGN_BUFFER(uint8_t, status_buffer, DWC2_STATUS_BUF_SIZE, 8);
 #define MAX_DEVICE                     16
 #define MAX_ENDPOINT                   16
 static int bulk_data_toggle[MAX_DEVICE][MAX_ENDPOINT];
-static int control_data_toggle[MAX_DEVICE][MAX_ENDPOINT];
 
 static int root_hub_devnum;
 
@@ -853,7 +852,6 @@ int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
                       int len, struct devrequest *setup)
 {
        int devnum = usb_pipedevice(pipe);
-       int ep = usb_pipeendpoint(pipe);
        int pid, ret, act_len;
        /* For CONTROL endpoint pid should start with DATA1 */
        int status_direction;
@@ -870,9 +868,9 @@ int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
                return ret;
 
        if (buffer) {
-               control_data_toggle[devnum][ep] = DWC2_HC_PID_DATA1;
-               ret = chunk_msg(dev, pipe, &control_data_toggle[devnum][ep],
-                               usb_pipein(pipe), buffer, len);
+               pid = DWC2_HC_PID_DATA1;
+               ret = chunk_msg(dev, pipe, &pid, usb_pipein(pipe), buffer,
+                               len);
                if (ret)
                        return ret;
                act_len = dev->act_len;
@@ -933,10 +931,8 @@ int usb_lowlevel_init(int index, enum usb_init_type init, void **controller)
                     DWC2_HPRT0_PRTRST);
 
        for (i = 0; i < MAX_DEVICE; i++) {
-               for (j = 0; j < MAX_ENDPOINT; j++) {
-                       control_data_toggle[i][j] = DWC2_HC_PID_DATA1;
+               for (j = 0; j < MAX_ENDPOINT; j++)
                        bulk_data_toggle[i][j] = DWC2_HC_PID_DATA0;
-               }
        }
 
        return 0;