dm: usb: Simply device finding code in usb_storage

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>
master
Simon Glass 9 years ago
parent 1d5827a12e
commit 84073b6f3c
  1. 30
      common/usb_storage.c

@ -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 */

Loading…
Cancel
Save