All of lore.kernel.org
 help / color / mirror / Atom feed
* [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,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

* [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

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.