diff options
Diffstat (limited to 'disk')
-rw-r--r-- | disk/part.c | 32 | ||||
-rw-r--r-- | disk/part_dos.c | 31 | ||||
-rw-r--r-- | disk/part_iso.c | 25 |
3 files changed, 35 insertions, 53 deletions
diff --git a/disk/part.c b/disk/part.c index 8317e80db5..9f51a07676 100644 --- a/disk/part.c +++ b/disk/part.c @@ -641,3 +641,35 @@ int part_get_info_by_name(struct blk_desc *dev_desc, const char *name, } return -1; } + +void part_set_generic_name(const struct blk_desc *dev_desc, + int part_num, char *name) +{ + char *devtype; + + switch (dev_desc->if_type) { + case IF_TYPE_IDE: + case IF_TYPE_SATA: + case IF_TYPE_ATAPI: + devtype = "hd"; + break; + case IF_TYPE_SCSI: + devtype = "sd"; + break; + case IF_TYPE_USB: + devtype = "usbd"; + break; + case IF_TYPE_DOC: + devtype = "docd"; + break; + case IF_TYPE_MMC: + case IF_TYPE_SD: + devtype = "mmcsd"; + break; + default: + devtype = "xx"; + break; + } + + sprintf(name, "%s%c%d", devtype, 'a' + dev_desc->devnum, part_num); +} diff --git a/disk/part_dos.c b/disk/part_dos.c index 8e6aae5736..ed78334a9d 100644 --- a/disk/part_dos.c +++ b/disk/part_dos.c @@ -209,35 +209,8 @@ static int part_get_info_extended(struct blk_desc *dev_desc, info->start = (lbaint_t)(ext_part_sector + le32_to_int(pt->start4)); info->size = (lbaint_t)le32_to_int(pt->size4); - switch(dev_desc->if_type) { - case IF_TYPE_IDE: - case IF_TYPE_SATA: - case IF_TYPE_ATAPI: - sprintf((char *)info->name, "hd%c%d", - 'a' + dev_desc->devnum, - part_num); - break; - case IF_TYPE_SCSI: - sprintf((char *)info->name, "sd%c%d", - 'a' + dev_desc->devnum, - part_num); - break; - case IF_TYPE_USB: - sprintf((char *)info->name, "usbd%c%d", - 'a' + dev_desc->devnum, - part_num); - break; - case IF_TYPE_DOC: - sprintf((char *)info->name, "docd%c%d", - 'a' + dev_desc->devnum, - part_num); - break; - default: - sprintf((char *)info->name, "xx%c%d", - 'a' + dev_desc->devnum, - part_num); - break; - } + part_set_generic_name(dev_desc, part_num, + (char *)info->name); /* sprintf(info->type, "%d, pt->sys_ind); */ strcpy((char *)info->type, "U-Boot"); info->bootable = is_bootable(pt); diff --git a/disk/part_iso.c b/disk/part_iso.c index 78fc97e4f1..bb8ed658f2 100644 --- a/disk/part_iso.c +++ b/disk/part_iso.c @@ -137,30 +137,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num, entry_num=1; offset=0x20; strcpy((char *)info->type, "U-Boot"); - switch(dev_desc->if_type) { - case IF_TYPE_IDE: - case IF_TYPE_SATA: - case IF_TYPE_ATAPI: - sprintf ((char *)info->name, "hd%c%d", - 'a' + dev_desc->devnum, part_num); - break; - case IF_TYPE_SCSI: - sprintf ((char *)info->name, "sd%c%d", - 'a' + dev_desc->devnum, part_num); - break; - case IF_TYPE_USB: - sprintf ((char *)info->name, "usbd%c%d", - 'a' + dev_desc->devnum, part_num); - break; - case IF_TYPE_DOC: - sprintf ((char *)info->name, "docd%c%d", - 'a' + dev_desc->devnum, part_num); - break; - default: - sprintf ((char *)info->name, "xx%c%d", - 'a' + dev_desc->devnum, part_num); - break; - } + part_set_generic_name(dev_desc, part_num, (char *)info->name); /* the bootcatalog (including validation Entry) is limited to 2048Bytes * (63 boot entries + validation entry) */ while(offset<2048) { |