Skip to content
Snippets Groups Projects
Commit 80adb276 authored by Wolfgang Denk's avatar Wolfgang Denk
Browse files
parents fc16904c 02df4a27
No related branches found
No related tags found
No related merge requests found
...@@ -85,46 +85,41 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no) ...@@ -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 #else
if(!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET],"FAT",3)) { 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;
info.start = part_offset; info.start = part_offset;
} else { } else {
/* FIXME we need to determine the start block of the /* FIXME we need to determine the start block of the
* partition where the DOS FS resides. This can be done * partition where the DOS FS resides. This can be done
* by using the get_partition_info routine. For this * by using the get_partition_info routine. For this
* purpose the libpart must be included. * purpose the libpart must be included.
*/ */
part_offset = 32; part_offset = 32;
cur_part = 1; cur_part = 1;
}
#endif
} }
#endif
return 0; return 0;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment