]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - common/usb_storage.c
cmd: net: add 'netdev' command to select a specific network interface
[karo-tx-uboot.git] / common / usb_storage.c
index 9285c95c0553b719016f6edf38ecc6c82f486c74..0345aa22eff5f79e6266b7ce7fd07a3207674d27 100644 (file)
@@ -136,23 +136,6 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr,
 #endif
 void uhci_show_temp_int_td(void);
 
-#ifdef CONFIG_PARTITIONS
-struct blk_desc *usb_stor_get_dev(int index)
-{
-#ifdef CONFIG_BLK
-       struct udevice *dev;
-       int ret;
-
-       ret = blk_get_device(IF_TYPE_USB, index, &dev);
-       if (ret)
-               return NULL;
-       return dev_get_uclass_platdata(dev);
-#else
-       return (index < usb_max_devs) ? &usb_dev_desc[index] : NULL;
-#endif
-}
-#endif
-
 static void usb_show_progress(void)
 {
        debug(".");
@@ -217,7 +200,6 @@ static int usb_stor_probe_device(struct usb_device *udev)
 
 #ifdef CONFIG_BLK
        struct us_data *data;
-       char dev_name[30], *str;
        int ret;
 #else
        int start;
@@ -240,14 +222,12 @@ static int usb_stor_probe_device(struct usb_device *udev)
        for (lun = 0; lun <= max_lun; lun++) {
                struct blk_desc *blkdev;
                struct udevice *dev;
+               char str[10];
 
-               snprintf(dev_name, sizeof(dev_name), "%s.lun%d",
-                        udev->dev->name, lun);
-               str = strdup(dev_name);
-               if (!str)
-                       return -ENOMEM;
-               ret = blk_create_device(udev->dev, "usb_storage_blk", str,
-                               IF_TYPE_USB, usb_max_devs, 512, 0, &dev);
+               snprintf(str, sizeof(str), "lun%d", lun);
+               ret = blk_create_devicef(udev->dev, "usb_storage_blk", str,
+                                        IF_TYPE_USB, usb_max_devs, 512, 0,
+                                        &dev);
                if (ret) {
                        debug("Cannot bind driver\n");
                        return ret;
@@ -728,13 +708,10 @@ static int usb_stor_CBI_get_status(ccb *srb, struct us_data *us)
 /* clear a stall on an endpoint - special for BBB devices */
 static int usb_stor_BBB_clear_endpt_stall(struct us_data *us, __u8 endpt)
 {
-       int result;
-
        /* ENDPOINT_HALT = 0, so set value to 0 */
-       result = usb_control_msg(us->pusb_dev, usb_sndctrlpipe(us->pusb_dev, 0),
-                               USB_REQ_CLEAR_FEATURE, USB_RECIP_ENDPOINT,
-                               0, endpt, NULL, 0, USB_CNTL_TIMEOUT * 5);
-       return result;
+       return usb_control_msg(us->pusb_dev, usb_sndctrlpipe(us->pusb_dev, 0),
+                              USB_REQ_CLEAR_FEATURE, USB_RECIP_ENDPOINT, 0,
+                              endpt, NULL, 0, USB_CNTL_TIMEOUT * 5);
 }
 
 static int usb_stor_BBB_transport(ccb *srb, struct us_data *us)
@@ -1555,4 +1532,11 @@ U_BOOT_DRIVER(usb_storage_blk) = {
        .id             = UCLASS_BLK,
        .ops            = &usb_storage_ops,
 };
+#else
+U_BOOT_LEGACY_BLK(usb) = {
+       .if_typename    = "usb",
+       .if_type        = IF_TYPE_USB,
+       .max_devs       = USB_MAX_STOR_DEV,
+       .desc           = usb_dev_desc,
+};
 #endif