diff options
author | Andy Fleming <afleming@freescale.com> | 2008-01-09 13:51:32 -0600 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-01-09 23:13:00 +0100 |
commit | 02df4a270f817ef6ec39047a01b55fecdc5f3b37 (patch) | |
tree | 52c2d6090912b294ec20cc7d724c7269bde8ff9c /fs | |
parent | 6636b62a6efc7f14e6e788788631ae7a7fca4537 (diff) | |
download | bootable_bootloader_goldelico_gta04-02df4a270f817ef6ec39047a01b55fecdc5f3b37.zip bootable_bootloader_goldelico_gta04-02df4a270f817ef6ec39047a01b55fecdc5f3b37.tar.gz bootable_bootloader_goldelico_gta04-02df4a270f817ef6ec39047a01b55fecdc5f3b37.tar.bz2 |
Fix my own merge stupidity
Way back in August I merged Heiko's patch:
566a494f592: [PCS440EP] upgrade the PCS440EP board
with Jon's CONFIG_COMMANDS patches.
This was done in commit: 6bf6f114dcdd97ec3f80c2761ed40e31229d6b78
However, in the process, I left out some of Heiko's good changes.
Now Heiko's and Jon's patches are properly merged in fat_register_device()
Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fat/fat.c | 63 |
1 files changed, 29 insertions, 34 deletions
diff --git a/fs/fat/fat.c b/fs/fat/fat.c index e98e50a..ee8b5fe 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -85,46 +85,41 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no) /* no signature found */ return -1; } - 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)) { - part_offset = info.start; - cur_part = part_no; - } else 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 { - printf ("** Partition %d not valid on device %d **\n", + defined(CONFIG_MMC) || \ + defined(CONFIG_SYSTEMACE) ) + /* First we assume, there is a MBR */ + if (!get_partition_info (dev_desc, part_no, &info)) { + part_offset = info.start; + cur_part = part_no; + } else 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 { + printf ("** Partition %d not valid on device %d **\n", part_no, dev_desc->dev); - return -1; - } + return -1; + } + #else - 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; - info.start = part_offset; - } else { - /* FIXME we need to determine the start block of the - * partition where the DOS FS resides. This can be done - * by using the get_partition_info routine. For this - * purpose the libpart must be included. - */ - part_offset = 32; - cur_part = 1; - } -#endif + 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; + info.start = part_offset; + } else { + /* FIXME we need to determine the start block of the + * partition where the DOS FS resides. This can be done + * by using the get_partition_info routine. For this + * purpose the libpart must be included. + */ + part_offset = 32; + cur_part = 1; } +#endif return 0; } |