diff options
author | Andy Fleming <afleming@freescale.com> | 2007-08-03 02:23:23 -0500 |
---|---|---|
committer | Andrew Fleming-AFLEMING <afleming@freescale.com> | 2007-08-03 02:23:23 -0500 |
commit | 6bf6f114dcdd97ec3f80c2761ed40e31229d6b78 (patch) | |
tree | 4bc9e1362c3090bb6d2df71109228ca61b8d00ce /fs/fat/fat.c | |
parent | 5a56af3b522ba47fb33a3fee84d23bf1e5429654 (diff) | |
parent | 5dc210dec5bace98a50b6ba905347890091a9bb0 (diff) |
Merge branch 'testing' into working
Conflicts:
CHANGELOG
fs/fat/fat.c
include/configs/MPC8560ADS.h
include/configs/pcs440ep.h
net/eth.c
Diffstat (limited to 'fs/fat/fat.c')
-rw-r--r--[-rwxr-xr-x] | fs/fat/fat.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 21a00b80d41..c068a842e8f 100755..100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -31,7 +31,7 @@ #include <asm/byteorder.h> #include <part.h> -#if (CONFIG_COMMANDS & CFG_CMD_FAT) +#if defined(CONFIG_CMD_FAT) /* * Convert a string to lowercase. @@ -85,10 +85,16 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no) /* no signature found */ return -1; } -#if ((CONFIG_COMMANDS & CFG_CMD_IDE) || \ - (CONFIG_COMMANDS & CFG_CMD_SCSI) || \ - (CONFIG_COMMANDS & CFG_CMD_USB) || \ - (defined(CONFIG_MMC)) || \ + if(!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET],"FAT",3)) { + /* ok, we assume we are on a PBR only */ + cur_part = 1; + part_offset=0; + } + else { +#if (defined(CONFIG_CMD_IDE) || \ + defined(CONFIG_CMD_SCSI) || \ + defined(CONFIG_CMD_USB) || \ + (defined(CONFIG_MMC) && defined(CONFIG_LPC2292)) || \ defined(CONFIG_SYSTEMACE) ) /* First we assume, there is a MBR */ if (!get_partition_info (dev_desc, part_no, &info)) { @@ -979,8 +985,10 @@ file_fat_detectfs(void) printf("No current device\n"); return 1; } -#if (CONFIG_COMMANDS & CFG_CMD_IDE) || (CONFIG_COMMANDS & CFG_CMD_SCSI) || \ - (CONFIG_COMMANDS & CFG_CMD_USB) || (CONFIG_MMC) +#if defined(CONFIG_CMD_IDE) || \ + defined(CONFIG_CMD_SCSI) || \ + defined(CONFIG_CMD_USB) || \ + (CONFIG_MMC) printf("Interface: "); switch(cur_dev->if_type) { case IF_TYPE_IDE : printf("IDE"); break; @@ -1021,4 +1029,4 @@ file_fat_read(const char *filename, void *buffer, unsigned long maxsize) return do_fat_read(filename, buffer, maxsize, LS_NO); } -#endif /* #if (CONFIG_COMMANDS & CFG_CMD_FAT) */ +#endif |