* [U-Boot] [PATCH v3 1/2] common: cmd_part: Proper alignment @ 2015-06-15 19:35 Paul Kocialkowski 2015-06-15 19:35 ` [U-Boot] [PATCH v3 2/2] common: cmd_part: start and size sub-commands introduction Paul Kocialkowski 2015-06-19 20:25 ` [U-Boot] [U-Boot,v3,1/2] common: cmd_part: Proper alignment Tom Rini 0 siblings, 2 replies; 5+ messages in thread From: Paul Kocialkowski @ 2015-06-15 19:35 UTC (permalink / raw) To: u-boot This fixes a misaligned declaration. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> --- common/cmd_part.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/cmd_part.c b/common/cmd_part.c index 8483c12..4bdbf90 100644 --- a/common/cmd_part.c +++ b/common/cmd_part.c @@ -88,7 +88,7 @@ static int do_part_list(int argc, char * const argv[]) if (var != NULL) { int p; char str[512] = { '\0', }; - disk_partition_t info; + disk_partition_t info; for (p = 1; p < 128; p++) { char t[5]; -- 1.9.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v3 2/2] common: cmd_part: start and size sub-commands introduction 2015-06-15 19:35 [U-Boot] [PATCH v3 1/2] common: cmd_part: Proper alignment Paul Kocialkowski @ 2015-06-15 19:35 ` Paul Kocialkowski 2015-06-15 23:19 ` Stephen Warren 2015-06-19 20:25 ` [U-Boot] [U-Boot, v3, " Tom Rini 2015-06-19 20:25 ` [U-Boot] [U-Boot,v3,1/2] common: cmd_part: Proper alignment Tom Rini 1 sibling, 2 replies; 5+ messages in thread From: Paul Kocialkowski @ 2015-06-15 19:35 UTC (permalink / raw) To: u-boot This introduces the part start and part size sub-commands. The purpose of these is to store the start block and size of a partition in a variable, given the device and partition number. This allows reading raw data that fits a single partition more easily. For instance, this could be used to figure out the start block and size of a kernel partition when a partition table is present, given the partition number. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> --- common/cmd_part.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/common/cmd_part.c b/common/cmd_part.c index 4bdbf90..8085d26 100644 --- a/common/cmd_part.c +++ b/common/cmd_part.c @@ -112,6 +112,74 @@ static int do_part_list(int argc, char * const argv[]) return 0; } +static int do_part_start(int argc, char * const argv[]) +{ + block_dev_desc_t *desc; + disk_partition_t info; + char buf[512] = { 0 }; + int part; + int err; + int ret; + + if (argc < 3) + return CMD_RET_USAGE; + if (argc > 4) + return CMD_RET_USAGE; + + part = simple_strtoul(argv[2], NULL, 0); + + ret = get_device(argv[0], argv[1], &desc); + if (ret < 0) + return 1; + + err = get_partition_info(desc, part, &info); + if (err) + return 1; + + snprintf(buf, sizeof(buf), "%lx", info.start); + + if (argc > 3) + setenv(argv[3], buf); + else + printf("%s\n", buf); + + return 0; +} + +static int do_part_size(int argc, char * const argv[]) +{ + block_dev_desc_t *desc; + disk_partition_t info; + char buf[512] = { 0 }; + int part; + int err; + int ret; + + if (argc < 3) + return CMD_RET_USAGE; + if (argc > 4) + return CMD_RET_USAGE; + + part = simple_strtoul(argv[2], NULL, 0); + + ret = get_device(argv[0], argv[1], &desc); + if (ret < 0) + return 1; + + err = get_partition_info(desc, part, &info); + if (err) + return 1; + + snprintf(buf, sizeof(buf), "%lx", info.size); + + if (argc > 3) + setenv(argv[3], buf); + else + printf("%s\n", buf); + + return 0; +} + static int do_part(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { if (argc < 2) @@ -121,6 +189,10 @@ static int do_part(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) return do_part_uuid(argc - 2, argv + 2); else if (!strcmp(argv[1], "list")) return do_part_list(argc - 2, argv + 2); + else if (!strcmp(argv[1], "start")) + return do_part_start(argc - 2, argv + 2); + else if (!strcmp(argv[1], "size")) + return do_part_size(argc - 2, argv + 2); return CMD_RET_USAGE; } @@ -136,5 +208,9 @@ U_BOOT_CMD( " - print a device's partition table\n" "part list <interface> <dev> [flags] <varname>\n" " - set environment variable to the list of partitions\n" - " flags can be -bootable (list only bootable partitions)" + " flags can be -bootable (list only bootable partitions)\n" + "part start <interface> <dev> <part> <varname>\n" + " - set environment variable to the start of the partition (in blocks)\n" + "part size <interface> <dev> <part> <varname>\n" + " - set environment variable to the size of the partition (in blocks)" ); -- 1.9.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v3 2/2] common: cmd_part: start and size sub-commands introduction 2015-06-15 19:35 ` [U-Boot] [PATCH v3 2/2] common: cmd_part: start and size sub-commands introduction Paul Kocialkowski @ 2015-06-15 23:19 ` Stephen Warren 2015-06-19 20:25 ` [U-Boot] [U-Boot, v3, " Tom Rini 1 sibling, 0 replies; 5+ messages in thread From: Stephen Warren @ 2015-06-15 23:19 UTC (permalink / raw) To: u-boot On 06/15/2015 01:35 PM, Paul Kocialkowski wrote: > This introduces the part start and part size sub-commands. The purpose of these > is to store the start block and size of a partition in a variable, given the > device and partition number. > > This allows reading raw data that fits a single partition more easily. > For instance, this could be used to figure out the start block and size of a > kernel partition when a partition table is present, given the partition number. The series, Acked-by: Stephen Warren <swarren@nvidia.com> ^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [U-Boot, v3, 2/2] common: cmd_part: start and size sub-commands introduction 2015-06-15 19:35 ` [U-Boot] [PATCH v3 2/2] common: cmd_part: start and size sub-commands introduction Paul Kocialkowski 2015-06-15 23:19 ` Stephen Warren @ 2015-06-19 20:25 ` Tom Rini 1 sibling, 0 replies; 5+ messages in thread From: Tom Rini @ 2015-06-19 20:25 UTC (permalink / raw) To: u-boot On Mon, Jun 15, 2015 at 09:35:05PM +0200, Paul Kocialkowski wrote: > This introduces the part start and part size sub-commands. The purpose of these > is to store the start block and size of a partition in a variable, given the > device and partition number. > > This allows reading raw data that fits a single partition more easily. > For instance, this could be used to figure out the start block and size of a > kernel partition when a partition table is present, given the partition number. > > Signed-off-by: Paul Kocialkowski <contact@paulk.fr> > Acked-by: Stephen Warren <swarren@nvidia.com> After changing it to use LBAF instead of "%lx" to fix some warnings, applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150619/8b2a5a0b/attachment.sig> ^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [U-Boot,v3,1/2] common: cmd_part: Proper alignment 2015-06-15 19:35 [U-Boot] [PATCH v3 1/2] common: cmd_part: Proper alignment Paul Kocialkowski 2015-06-15 19:35 ` [U-Boot] [PATCH v3 2/2] common: cmd_part: start and size sub-commands introduction Paul Kocialkowski @ 2015-06-19 20:25 ` Tom Rini 1 sibling, 0 replies; 5+ messages in thread From: Tom Rini @ 2015-06-19 20:25 UTC (permalink / raw) To: u-boot On Mon, Jun 15, 2015 at 09:35:04PM +0200, Paul Kocialkowski wrote: > This fixes a misaligned declaration. > > Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150619/671ef3d8/attachment.sig> ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-06-19 20:25 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-06-15 19:35 [U-Boot] [PATCH v3 1/2] common: cmd_part: Proper alignment Paul Kocialkowski 2015-06-15 19:35 ` [U-Boot] [PATCH v3 2/2] common: cmd_part: start and size sub-commands introduction Paul Kocialkowski 2015-06-15 23:19 ` Stephen Warren 2015-06-19 20:25 ` [U-Boot] [U-Boot, v3, " Tom Rini 2015-06-19 20:25 ` [U-Boot] [U-Boot,v3,1/2] common: cmd_part: Proper alignment Tom Rini
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.