|
@@ -89,41 +89,42 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no)
|
|
/* 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 {
|
|
#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_LPC2292)) || \
|
|
defined(CONFIG_SYSTEMACE) )
|
|
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;
|
|
|
|
- }
|
|
|
|
|
|
+ /* 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;
|
|
|
|
+ }
|
|
#else
|
|
#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;
|
|
|
|
- }
|
|
|
|
|
|
+ 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
|
|
#endif
|
|
|
|
+ }
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|