]> git.sur5r.net Git - u-boot/blobdiff - fs/fat/fat_write.c
fs/fat: Clean up open-coded sector <-> cluster conversions
[u-boot] / fs / fat / fat_write.c
index d0468baf8ff5766f8508b18f9dc341b36e7d54eb..9d2e0ed74c8c7ced6e42759c5f0e39de5349d828 100644 (file)
@@ -502,8 +502,7 @@ set_cluster(fsdata *mydata, __u32 clustnum, __u8 *buffer,
        int ret;
 
        if (clustnum > 0)
-               startsect = mydata->data_begin +
-                               clustnum * mydata->clust_size;
+               startsect = clust_to_sect(mydata, clustnum);
        else
                startsect = mydata->rootdir_sect;
 
@@ -751,8 +750,7 @@ static int check_overflow(fsdata *mydata, __u32 clustnum, loff_t size)
        __u32 startsect, sect_num, offset;
 
        if (clustnum > 0) {
-               startsect = mydata->data_begin +
-                               clustnum * mydata->clust_size;
+               startsect = clust_to_sect(mydata, clustnum);
        } else {
                startsect = mydata->rootdir_sect;
        }
@@ -791,7 +789,7 @@ static dir_entry *empty_dentptr;
 static dir_entry *find_directory_entry(fsdata *mydata, int startsect,
        char *filename, dir_entry *retdent, __u32 start)
 {
-       __u32 curclust = (startsect - mydata->data_begin) / mydata->clust_size;
+       __u32 curclust = sect_to_clust(mydata, startsect);
 
        debug("get_dentfromdir: %s\n", filename);