]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - include/image-sparse.h
configs: imx6q_logic: Move CONFIG_PHY_SMSC to defconfig
[people/ms/u-boot.git] / include / image-sparse.h
index 0382f5bd2639fecd498b7a2635ed5035381ee58d..b0cc5007f78a3fae5f7fd7721368f5ce07fbeed6 100644 (file)
@@ -9,16 +9,21 @@
 
 #define ROUNDUP(x, y)  (((x) + ((y) - 1)) & ~((y) - 1))
 
-typedef struct sparse_storage {
-       unsigned int    block_sz;
-       unsigned int    start;
-       unsigned int    size;
-       const char      *name;
-
-       int     (*write)(struct sparse_storage *storage, void *priv,
-                        unsigned int offset, unsigned int size,
-                        char *data);
-} sparse_storage_t;
+struct sparse_storage {
+       lbaint_t        blksz;
+       lbaint_t        start;
+       lbaint_t        size;
+       void            *priv;
+
+       lbaint_t        (*write)(struct sparse_storage *info,
+                                lbaint_t blk,
+                                lbaint_t blkcnt,
+                                const void *buffer);
+
+       lbaint_t        (*reserve)(struct sparse_storage *info,
+                                lbaint_t blk,
+                                lbaint_t blkcnt);
+};
 
 static inline int is_sparse_image(void *buf)
 {
@@ -31,5 +36,5 @@ static inline int is_sparse_image(void *buf)
        return 0;
 }
 
-int store_sparse_image(sparse_storage_t *storage, void *storage_priv,
-                      unsigned int session_id, void *data);
+void write_sparse_image(struct sparse_storage *info, const char *part_name,
+                       void *data, unsigned sz);