dm: usb: Simply device finding code in usb_storage
authorSimon Glass <sjg@chromium.org>
Wed, 25 Mar 2015 18:22:13 +0000 (12:22 -0600)
committerSimon Glass <sjg@chromium.org>
Sat, 18 Apr 2015 17:11:22 +0000 (11:11 -0600)
The for() loop is not needed since the value is immediately accessible.
Use this instead to simplify the code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
common/usb_storage.c

index 5108d234346f9a8e28964767cc0db464ce8aa2db..2955b325b8f05076766853c9cacc3f2745424b63 100644 (file)
@@ -1018,7 +1018,7 @@ unsigned long usb_stor_read(int device, lbaint_t blknr,
        unsigned short smallblks;
        struct usb_device *dev;
        struct us_data *ss;
-       int retry, i;
+       int retry;
        ccb *srb = &usb_ccb;
 
        if (blkcnt == 0)
@@ -1026,14 +1026,11 @@ unsigned long usb_stor_read(int device, lbaint_t blknr,
 
        device &= 0xff;
        /* Setup  device */
-       debug("\nusb_read: dev %d \n", device);
-       dev = NULL;
-       for (i = 0; i < USB_MAX_DEVICE; i++) {
-               dev = usb_get_dev_index(i);
-               if (dev == NULL)
-                       return 0;
-               if (dev->devnum == usb_dev_desc[device].target)
-                       break;
+       debug("\nusb_read: dev %d\n", device);
+       dev = usb_dev_desc[device].priv;
+       if (!dev) {
+               debug("%s: No device\n", __func__);
+               return 0;
        }
        ss = (struct us_data *)dev->privptr;
 
@@ -1091,7 +1088,7 @@ unsigned long usb_stor_write(int device, lbaint_t blknr,
        unsigned short smallblks;
        struct usb_device *dev;
        struct us_data *ss;
-       int retry, i;
+       int retry;
        ccb *srb = &usb_ccb;
 
        if (blkcnt == 0)
@@ -1099,15 +1096,10 @@ unsigned long usb_stor_write(int device, lbaint_t blknr,
 
        device &= 0xff;
        /* Setup  device */
-       debug("\nusb_write: dev %d \n", device);
-       dev = NULL;
-       for (i = 0; i < USB_MAX_DEVICE; i++) {
-               dev = usb_get_dev_index(i);
-               if (dev == NULL)
-                       return 0;
-               if (dev->devnum == usb_dev_desc[device].target)
-                       break;
-       }
+       debug("\nusb_write: dev %d\n", device);
+       dev = usb_dev_desc[device].priv;
+       if (!dev)
+               return 0;
        ss = (struct us_data *)dev->privptr;
 
        usb_disable_asynch(1); /* asynch transfer not allowed */