diff options
author | Petr Kulhavy <brain@jikos.cz> | 2016-09-09 10:27:17 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-10-01 20:04:56 -0400 |
commit | da2ee24d9150448e1816db790b4e11e2cf53df20 (patch) | |
tree | b097bf835f6f8ab1def6efd9db1e96acd2a84653 /disk/part.c | |
parent | b6dd69a4d6b20862a2075f402f9edfb0de6d14ed (diff) | |
download | u-boot-da2ee24d9150448e1816db790b4e11e2cf53df20.tar.gz u-boot-da2ee24d9150448e1816db790b4e11e2cf53df20.tar.bz2 u-boot-da2ee24d9150448e1816db790b4e11e2cf53df20.zip |
disk: part: refactor generic name creation for DOS and ISO
In both DOS and ISO partition tables the same code to create partition name
like "hda1" was repeated.
Code moved to into a new function part_set_generic_name() in part.c and optimized.
Added recognition of MMC and SD types, name is like "mmcsda1".
Signed-off-by: Petr Kulhavy <brain@jikos.cz>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Steve Rae <steve.rae@raedomain.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'disk/part.c')
-rw-r--r-- | disk/part.c | 32 |
1 files changed, 32 insertions, 0 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); +} |