[U-Boot] [PATCH v5 1/1] cmd: part: Add 'number' sub-command
Igor Opaniuk
igor.opaniuk at gmail.com
Fri Jul 12 09:25:50 UTC 2019
Hi Tom,
On Fri, Jun 14, 2019 at 5:22 PM Sam Protsenko
<semen.protsenko at linaro.org> wrote:
>
> Hi Igor,
>
> Once again:
>
> Reviewed-by: Sam Protsenko <semen.protsenko at linaro.org>
>
> Thanks!
>
> On Fri, Jun 14, 2019 at 5:01 PM Igor Opaniuk <igor.opaniuk at gmail.com> wrote:
> >
> > From: Ruslan Trofymenko <ruslan.trofymenko at linaro.org>
> >
> > This sub-command serves for getting the partition index from
> > partition name. Also it can be used to test the existence of specified
> > partition.
> >
> > Use case:
> > For example, in most CI environments this U-Boot command for automatic
> > testing of Linux rootfs is used:
> >
> > => setenv bootpart 1:f
> >
> > where 0xf is "userdata" partition. But the number of "userdata"
> > partition can be changed any time, when partition table is changed.
> >
> > So it would be nice to get rid of that 0xf magic number and use
> > partition name instead, like this:
> >
> > => part number mmc 1 userdata part_num
> > => setenv bootpart 1:${part_num}
> >
> > Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko at linaro.org>
> > Signed-off-by: Igor Opaniuk <igor.opaniuk at gmail.com>
> > Reviewed-by: Alistair Strachan <astrachan at google.com>
> > Reviewed-by: Sam Protsenko <semen.protsenko at linaro.org>
> > Reviewed-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > Changes in v5: None
> > Changes in v4: None
> > Changes in v3: None
> > Changes in v2: None
> >
> > cmd/part.c | 16 +++++++++++++++-
> > 1 file changed, 15 insertions(+), 1 deletion(-)
> >
> > diff --git a/cmd/part.c b/cmd/part.c
> > index bfb6488b0f..653e13ced1 100644
> > --- a/cmd/part.c
> > +++ b/cmd/part.c
> > @@ -24,6 +24,7 @@
> > enum cmd_part_info {
> > CMD_PART_INFO_START = 0,
> > CMD_PART_INFO_SIZE,
> > + CMD_PART_INFO_NUMBER
> > };
> >
> > static int do_part_uuid(int argc, char * const argv[])
> > @@ -149,6 +150,9 @@ static int do_part_info(int argc, char * const argv[], enum cmd_part_info param)
> > case CMD_PART_INFO_SIZE:
> > snprintf(buf, sizeof(buf), LBAF, info.size);
> > break;
> > + case CMD_PART_INFO_NUMBER:
> > + snprintf(buf, sizeof(buf), "%d", part);
> > + break;
> > default:
> > printf("** Unknown cmd_part_info value: %d\n", param);
> > return 1;
> > @@ -172,6 +176,11 @@ static int do_part_size(int argc, char * const argv[])
> > return do_part_info(argc, argv, CMD_PART_INFO_SIZE);
> > }
> >
> > +static int do_part_number(int argc, char * const argv[])
> > +{
> > + return do_part_info(argc, argv, CMD_PART_INFO_NUMBER);
> > +}
> > +
> > static int do_part(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> > {
> > if (argc < 2)
> > @@ -185,6 +194,8 @@ static int do_part(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> > return do_part_start(argc - 2, argv + 2);
> > else if (!strcmp(argv[1], "size"))
> > return do_part_size(argc - 2, argv + 2);
> > + else if (!strcmp(argv[1], "number"))
> > + return do_part_number(argc - 2, argv + 2);
> >
> > return CMD_RET_USAGE;
> > }
> > @@ -206,5 +217,8 @@ U_BOOT_CMD(
> > " part can be either partition number or partition name\n"
> > "part size <interface> <dev> <part> <varname>\n"
> > " - set environment variable to the size of the partition (in blocks)\n"
> > - " part can be either partition number or partition name"
> > + " part can be either partition number or partition name\n"
> > + "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"
> > );
> > --
> > 2.17.1
> >
Are there any objections from your side to get this patch applied?
If there are any comments/suggestions, please let me know!
Thanks!
--
Best regards - Freundliche GrĂ¼sse - Meilleures salutations
Igor Opaniuk
mailto: igor.opaniuk at gmail.com
skype: igor.opanyuk
+380 (93) 836 40 67
http://ua.linkedin.com/in/iopaniuk
More information about the U-Boot
mailing list