From patchwork Tue Apr 21 22:13:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "razvan.becheriu at gmail.com" X-Patchwork-Id: 238242 List-Id: U-Boot discussion From: razvan.becheriu at gmail.com (razvan becheriu) Date: Wed, 22 Apr 2020 01:13:06 +0300 Subject: [PATCH] cmd: part: Add 'block' sub-command Message-ID: >From 4376dc705acefb5b5281d32dcc1cb5084c61f99c Mon Sep 17 00:00:00 2001 From: Razvan Becheriu Date: Wed, 22 Apr 2020 00:17:33 +0300 Subject: [PATCH] cmd: part: Add 'block' sub-command Add part block sub-command which returns partition block size. e.g.: part block mmc $mmcdev system_a system_a_index --- cmd/part.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) break; @@ -177,6 +181,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_block(int argc, char * const argv[]) +{ + return do_part_info(argc, argv, CMD_PART_INFO_BLOCK); +} + static int do_part_number(int argc, char * const argv[]) { return do_part_info(argc, argv, CMD_PART_INFO_NUMBER); @@ -195,6 +204,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], "block")) + return do_part_block(argc - 2, argv + 2); else if (!strcmp(argv[1], "number")) return do_part_number(argc - 2, argv + 2); @@ -219,6 +230,9 @@ U_BOOT_CMD( "part size \n" " - set environment variable to the size of the partition (in blocks)\n" " part can be either partition number or partition name\n" + "part block \n" + " - set environment variable to the size of the partition block\n" + " part can be either partition number or partition name\n" "part number \n" " - set environment variable to the partition number using the partition name\n" " part must be specified as partition name" diff --git a/cmd/part.c b/cmd/part.c index 5e4e45ca6d..d78d914e7a 100644 --- a/cmd/part.c +++ b/cmd/part.c @@ -25,6 +25,7 @@ enum cmd_part_info { CMD_PART_INFO_START = 0, CMD_PART_INFO_SIZE, + CMD_PART_INFO_BLOCK, CMD_PART_INFO_NUMBER }; @@ -151,6 +152,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_BLOCK: + snprintf(buf, sizeof(buf), LBAF, info.blksz); + break; case CMD_PART_INFO_NUMBER: snprintf(buf, sizeof(buf), "0x%x", part);