Merge branch 'master' of git+ssh://10.10.0.7/home/wd/git/u-boot/master

This commit is contained in:
Wolfgang Denk 2008-01-09 23:43:10 +01:00
commit 80adb27616

View file

@ -85,46 +85,41 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no)
/* no signature found */ /* no signature found */
return -1; 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) || \ #if (defined(CONFIG_CMD_IDE) || \
defined(CONFIG_CMD_SCSI) || \ defined(CONFIG_CMD_SCSI) || \
defined(CONFIG_CMD_USB) || \ defined(CONFIG_CMD_USB) || \
(defined(CONFIG_MMC) && defined(CONFIG_LPC2292)) || \ defined(CONFIG_MMC) || \
defined(CONFIG_SYSTEMACE) ) defined(CONFIG_SYSTEMACE) )
/* First we assume, there is a MBR */ /* First we assume, there is a MBR */
if (!get_partition_info (dev_desc, part_no, &info)) { if (!get_partition_info (dev_desc, part_no, &info)) {
part_offset = info.start; part_offset = info.start;
cur_part = part_no; cur_part = part_no;
} else if (!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET], "FAT", 3)) { } else if (!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET], "FAT", 3)) {
/* ok, we assume we are on a PBR only */ /* ok, we assume we are on a PBR only */
cur_part = 1; cur_part = 1;
part_offset = 0; part_offset = 0;
} else { } else {
printf ("** Partition %d not valid on device %d **\n", printf ("** Partition %d not valid on device %d **\n",
part_no, dev_desc->dev); 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
} }
#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
return 0; return 0;
} }