summaryrefslogtreecommitdiff
path: root/disk/part.c
diff options
context:
space:
mode:
Diffstat (limited to 'disk/part.c')
-rw-r--r--disk/part.c54
1 files changed, 8 insertions, 46 deletions
diff --git a/disk/part.c b/disk/part.c
index 36b88205eca..2bee6695828 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -14,6 +14,7 @@
#include <malloc.h>
#include <part.h>
#include <ubifs_uboot.h>
+#include <dm/uclass.h>
#undef PART_DEBUG
@@ -305,50 +306,8 @@ static void print_part_header(const char *type, struct blk_desc *desc)
CONFIG_IS_ENABLED(ISO_PARTITION) || \
CONFIG_IS_ENABLED(AMIGA_PARTITION) || \
CONFIG_IS_ENABLED(EFI_PARTITION)
- puts ("\nPartition Map for ");
- switch (desc->uclass_id) {
- case UCLASS_IDE:
- puts ("IDE");
- break;
- case UCLASS_AHCI:
- puts ("SATA");
- break;
- case UCLASS_SCSI:
- puts ("SCSI");
- break;
- case UCLASS_USB:
- puts ("USB");
- break;
- case UCLASS_MMC:
- puts ("MMC");
- break;
- case UCLASS_HOST:
- puts ("HOST");
- break;
- case UCLASS_NVME:
- puts ("NVMe");
- break;
- case UCLASS_PVBLOCK:
- puts("PV BLOCK");
- break;
- case UCLASS_RKMTD:
- puts("RKMTD");
- break;
- case UCLASS_VIRTIO:
- puts("VirtIO");
- break;
- case UCLASS_EFI_MEDIA:
- puts("EFI");
- break;
- case UCLASS_BLKMAP:
- puts("BLKMAP");
- break;
- default:
- printf("UNKNOWN(%d)", desc->uclass_id);
- break;
- }
- printf (" device %d -- Partition Type: %s\n\n",
- desc->devnum, type);
+ printf("\nPartition Map for %s device %d -- Partition Type: %s\n\n",
+ uclass_get_name(desc->uclass_id), desc->devnum, type);
#endif /* any CONFIG_..._PARTITION */
}
@@ -717,8 +676,11 @@ int part_get_info_by_name(struct blk_desc *desc, const char *name,
for (i = 1; i < part_drv->max_entries; i++) {
ret = part_drv->get_info(desc, i, info);
if (ret != 0) {
- /* no more entries in table */
- break;
+ /*
+ * Partition with this index can't be obtained, but
+ * further partitions might be, so keep checking.
+ */
+ continue;
}
if (strcmp(name, (const char *)info->name) == 0) {
/* matched */