summaryrefslogtreecommitdiff
path: root/fs/fat/fat.c
diff options
context:
space:
mode:
authorDonggeun Kim <dg77.kim@samsung.com>2011-10-24 21:15:28 +0000
committerWolfgang Denk <wd@denx.de>2011-10-26 21:40:44 +0200
commitc30a15e590c7e5bfd27e4704c81648071f11d51f (patch)
tree3dfb06047dccb50fbf1555ff48a5396ea5317488 /fs/fat/fat.c
parenteea63e05d0b7f54e7aa39725015483972c71cb3c (diff)
downloadu-boot-imx-c30a15e590c7e5bfd27e4704c81648071f11d51f.zip
u-boot-imx-c30a15e590c7e5bfd27e4704c81648071f11d51f.tar.gz
u-boot-imx-c30a15e590c7e5bfd27e4704c81648071f11d51f.tar.bz2
FAT: Add FAT write feature
In some cases, saving data in RAM as a file with FAT format is required. This patch allows the file to be written in FAT formatted partition. The usage is similar with reading a file. First, fat_register_device function is called before file_fat_write function in order to set target partition. Then, file_fat_write function is invoked with desired file name, start ram address for writing data, and file size. Signed-off-by: Donggeun Kim <dg77.kim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'fs/fat/fat.c')
-rw-r--r--fs/fat/fat.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/fat/fat.c b/fs/fat/fat.c
index 756ac64..7cf173c 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -46,6 +46,7 @@ static void downcase (char *str)
static block_dev_desc_t *cur_dev = NULL;
static unsigned long part_offset = 0;
+static unsigned long part_size;
static int cur_part = 1;
@@ -99,6 +100,7 @@ int fat_register_device (block_dev_desc_t * dev_desc, int part_no)
if (!get_partition_info(dev_desc, part_no, &info)) {
part_offset = info.start;
cur_part = part_no;
+ part_size = info.size;
} else if ((strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET], "FAT", 3) == 0) ||
(strncmp((char *)&buffer[DOS_FS32_TYPE_OFFSET], "FAT32", 5) == 0)) {
/* ok, we assume we are on a PBR only */