usb: dwc3: add dis_enblslpm_quirk
[oweals/u-boot.git] / api / api_storage.c
index 2b90c18aaec93a1dcb8914e80e37d41842d88980..a0dacad1a55ec7468573b6f5c7cae5b8abe4214b 100644 (file)
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <common.h>
 #include <api_public.h>
+#include <part.h>
 
 #if defined(CONFIG_CMD_USB) && defined(CONFIG_USB_STORAGE)
 #include <usb.h>
@@ -349,3 +350,27 @@ lbasize_t dev_read_stor(void *cookie, void *buf, lbasize_t len, lbastart_t start
        return dd->block_read(dd, start, len, buf);
 #endif /* defined(CONFIG_BLK) */
 }
+
+
+lbasize_t dev_write_stor(void *cookie, void *buf, lbasize_t len, lbastart_t start)
+{
+       struct blk_desc *dd = (struct blk_desc *)cookie;
+       int type = dev_stor_type(dd);
+
+       if (type == ENUM_MAX)
+               return 0;
+
+       if (!dev_stor_is_valid(type, dd))
+               return 0;
+
+#ifdef CONFIG_BLK
+       return blk_dwrite(dd, start, len, buf);
+#else
+       if (dd->block_write == NULL) {
+               debugf("no block_write() for device 0x%08x\n", cookie);
+               return 0;
+       }
+
+       return dd->block_write(dd, start, len, buf);
+#endif /* defined(CONFIG_BLK) */
+}