diff options
author | Donggeun Kim <dg77.kim@samsung.com> | 2012-03-22 04:38:55 +0000 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2012-03-24 23:27:32 +0100 |
commit | 079df7223c05518687cbd2eb9ad1b3d1712ee6d7 (patch) | |
tree | b95010f6313f85826e3f2e64d76f31aca91dcc24 /fs/fat/fat_write.c | |
parent | 7cb30b13f12077c7eec8ce2419cd96cd65ace8e2 (diff) | |
download | u-boot-imx-079df7223c05518687cbd2eb9ad1b3d1712ee6d7.zip u-boot-imx-079df7223c05518687cbd2eb9ad1b3d1712ee6d7.tar.gz u-boot-imx-079df7223c05518687cbd2eb9ad1b3d1712ee6d7.tar.bz2 |
FAT write: Fix compile errors
This patch removes compile errors introduced by
commit 9813b750f32c0056f0a35813b9a9ec0f68b664af
'fs/fat: Fix FAT detection to support non-DOS partition tables'
fat_write.c: In function 'disk_write':
fat_write.c:54: error: 'part_offset' undeclared (first use in this function)
fat_write.c:54: error: (Each undeclared identifier is reported only once
fat_write.c:54: error: for each function it appears in.)
fat_write.c: In function 'do_fat_write':
fat_write.c:950: error: 'part_size' undeclared (first use in this function)
These errors only appear when this code is enabled by
defining CONFIG_FAT_WRITE option.
This patch was originally part of
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/121847
Signed-off-by: Donggeun Kim <dg77.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Maximilian Schwerin <mvs@tigris.de>
Fixed patch author and added all needed SoB from the original patch
and also submitter's SoB. Extended commit log.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'fs/fat/fat_write.c')
-rw-r--r-- | fs/fat/fat_write.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c index 3bfc1c4..16f8400 100644 --- a/fs/fat/fat_write.c +++ b/fs/fat/fat_write.c @@ -41,23 +41,19 @@ static void uppercase(char *str, int len) } static int total_sector; -static int disk_write(__u32 startblock, __u32 getsize, __u8 *bufptr) +static int disk_write(__u32 block, __u32 nr_blocks, void *buf) { - if (cur_dev == NULL) + if (!cur_dev || !cur_dev->block_write) return -1; - if (startblock + getsize > total_sector) { + if (cur_part_info.start + block + nr_blocks > + cur_part_info.start + total_sector) { printf("error: overflow occurs\n"); return -1; } - startblock += part_offset; - - if (cur_dev->block_read) { - return cur_dev->block_write(cur_dev->dev, startblock, getsize, - (unsigned long *) bufptr); - } - return -1; + return cur_dev->block_write(cur_dev->dev, + cur_part_info.start + block, nr_blocks, buf); } /* @@ -797,7 +793,7 @@ static int check_overflow(fsdata *mydata, __u32 clustnum, unsigned long size) if (size % mydata->sect_size) sect_num++; - if (startsect + sect_num > total_sector) + if (startsect + sect_num > cur_part_info.start + total_sector) return -1; return 0; @@ -947,7 +943,7 @@ static int do_fat_write(const char *filename, void *buffer, total_sector = bs.total_sect; if (total_sector == 0) - total_sector = part_size; + total_sector = cur_part_info.size; root_cluster = bs.root_cluster; |