mmc: fsl_esdhc: Fix SDR104 and HS200 support
[oweals/u-boot.git] / include / fat.h
index 7dada411e54fcefcac19398edd673857a74c642c..02742f92a5c879869c0fa9855b29dba724ac1858 100644 (file)
@@ -12,6 +12,8 @@
 #include <asm/byteorder.h>
 #include <fs.h>
 
+struct disk_partition;
+
 /* Maximum Long File Name length supported here is 128 UTF-16 code units */
 #define VFAT_MAXLEN_BYTES      256 /* Maximum LFN buffer in bytes */
 #define VFAT_MAXSEQ            9   /* Up to 9 of 13 2-byte UTF-16 entries */
@@ -173,6 +175,8 @@ typedef struct {
        int     fatbufnum;      /* Used by get_fatent, init to -1 */
        int     rootdir_size;   /* Size of root dir for non-FAT32 */
        __u32   root_cluster;   /* First cluster of root dir for FAT32 */
+       u32     total_sect;     /* Number of sectors */
+       int     fats;           /* Number of FATs */
 } fsdata;
 
 static inline u32 clust_to_sect(fsdata *fsdata, u32 clust)
@@ -180,7 +184,7 @@ static inline u32 clust_to_sect(fsdata *fsdata, u32 clust)
        return fsdata->data_begin + clust * fsdata->clust_size;
 }
 
-static inline u32 sect_to_clust(fsdata *fsdata, u32 sect)
+static inline u32 sect_to_clust(fsdata *fsdata, int sect)
 {
        return (sect - fsdata->data_begin) / fsdata->clust_size;
 }
@@ -191,7 +195,7 @@ int fat_size(const char *filename, loff_t *size);
 int file_fat_read_at(const char *filename, loff_t pos, void *buffer,
                     loff_t maxsize, loff_t *actread);
 int file_fat_read(const char *filename, void *buffer, int maxsize);
-int fat_set_blk_dev(struct blk_desc *rbdd, disk_partition_t *info);
+int fat_set_blk_dev(struct blk_desc *rbdd, struct disk_partition *info);
 int fat_register_device(struct blk_desc *dev_desc, int part_no);
 
 int file_fat_write(const char *filename, void *buf, loff_t offset, loff_t len,
@@ -201,5 +205,7 @@ int fat_read_file(const char *filename, void *buf, loff_t offset, loff_t len,
 int fat_opendir(const char *filename, struct fs_dir_stream **dirsp);
 int fat_readdir(struct fs_dir_stream *dirs, struct fs_dirent **dentp);
 void fat_closedir(struct fs_dir_stream *dirs);
+int fat_unlink(const char *filename);
+int fat_mkdir(const char *dirname);
 void fat_close(void);
 #endif /* _FAT_H_ */