diff options
author | Tom Rini <trini@konsulko.com> | 2019-11-08 07:27:45 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2019-11-08 07:27:45 -0500 |
commit | ee1c499851e0fda1a6ab98fb1f1d1f672e64a6f8 (patch) | |
tree | 732cd565e5a59da41e14bfb69c2f85889eb6d478 /api/api_storage.c | |
parent | 3f2d4bf462825c106ef7a06a16ec8d5c07ef8949 (diff) | |
parent | fefff636337b53ac7fc1b0e9f38eb7b188bc0e60 (diff) |
Merge branch '2019-11-07-master-imports'
- Add Phytium Durian Board
- Assorted bugfixes
- Allow for make ERR_PTR/PTR_ERR architecture specific
Diffstat (limited to 'api/api_storage.c')
-rw-r--r-- | api/api_storage.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/api/api_storage.c b/api/api_storage.c index 2b90c18aaec..7ae03ac2306 100644 --- a/api/api_storage.c +++ b/api/api_storage.c @@ -349,3 +349,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) */ +} |