On Tue Nov 11, 2025 at 2:24 AM IST, Rasmus Villemoes wrote: > This is a natural buddy to the existing "part number", allowing one to > get the partition name for a given partition number. > > Acked-by: Quentin Schulz <[email protected]> > Signed-off-by: Rasmus Villemoes <[email protected]> > --- > cmd/part.c | 16 +++++++++++++++- > doc/usage/cmd/part.rst | 13 +++++++++++++ > 2 files changed, 28 insertions(+), 1 deletion(-) > > diff --git a/cmd/part.c b/cmd/part.c > index db7bc5819c0..975a0a08a99 100644 > --- a/cmd/part.c > +++ b/cmd/part.c > @@ -25,7 +25,8 @@ > enum cmd_part_info { > CMD_PART_INFO_START = 0, > CMD_PART_INFO_SIZE, > - CMD_PART_INFO_NUMBER > + CMD_PART_INFO_NUMBER, > + CMD_PART_INFO_NAME, > }; > > static int do_part_uuid(int argc, char *const argv[]) > @@ -154,6 +155,9 @@ static int do_part_info(int argc, char *const argv[], > enum cmd_part_info param) > case CMD_PART_INFO_NUMBER: > snprintf(buf, sizeof(buf), "0x%x", part); > break; > + case CMD_PART_INFO_NAME: > + snprintf(buf, sizeof(buf), "%s", info.name); > + break; > default: > printf("** Unknown cmd_part_info value: %d\n", param); > return 1; > @@ -182,6 +186,11 @@ static int do_part_number(int argc, char *const argv[]) > return do_part_info(argc, argv, CMD_PART_INFO_NUMBER); > } > > +static int do_part_name(int argc, char *const argv[]) > +{ > + return do_part_info(argc, argv, CMD_PART_INFO_NAME); > +} > + > static int do_part_set(int argc, char *const argv[]) > { > const char *devname, *partstr, *typestr; > @@ -273,6 +282,8 @@ static int do_part(struct cmd_tbl *cmdtp, int flag, int > argc, > return do_part_size(argc - 2, argv + 2); > else if (!strcmp(argv[1], "number")) > return do_part_number(argc - 2, argv + 2); > + else if (!strcmp(argv[1], "name")) > + return do_part_name(argc - 2, argv + 2); > else if (!strcmp(argv[1], "types")) > return do_part_types(argc - 2, argv + 2); > else if (!strcmp(argv[1], "set")) > @@ -305,6 +316,9 @@ U_BOOT_CMD( > "part number <interface> <dev> <part> <varname>\n" > " - set environment variable to the partition number using the > partition name\n" > " part must be specified as partition name\n" > + "part name <interface> <dev> <part> <varname>\n"
Nit: Shouldn't this be part name <interface> <dev> <part> [varname] instead? > + " - set environment variable to the partition name using the > partition number\n" > + " part must be specified as partition number\n" > #ifdef CONFIG_PARTITION_TYPE_GUID > "part type <interface> <dev>:<part>\n" > " - print partition type\n" > diff --git a/doc/usage/cmd/part.rst b/doc/usage/cmd/part.rst > index 72f5d8b8de7..299f2ac15c5 100644 > --- a/doc/usage/cmd/part.rst > +++ b/doc/usage/cmd/part.rst > @@ -16,6 +16,7 @@ Synopsis > part start <interface> <dev> <part> <varname> > part size <interface> <dev> <part> <varname> > part number <interface> <dev> <part> <varname> > + part name <interface> <dev> <part> <varname> Same here. Regards, Anshul > part set <interface> <dev> <part> <type> > part type <interface> <dev>:<part> [varname] > part types > @@ -86,6 +87,18 @@ part must be specified as partition name. > varname > a variable to store the current partition number value into > > +The 'part name' command sets an environment variable to the partition name > using the partition number, > +part must be specified as partition number. > + > + interface > + interface for accessing the block device (mmc, sata, scsi, usb, ....) > + dev > + device number > + part > + partition number > + varname > + a variable to store the current partition name into > + > The 'part set' command sets the type of a partition. This is useful when > autodetection fails or does not do the correct thing: >

