diff mbox

[U-Boot] bdinfo: Fix bdinfo to show all MACs for Microblaze and ARM

Message ID 1314783511-1480-1-git-send-email-monstr@monstr.eu
State Changes Requested
Headers show

Commit Message

Michal Simek Aug. 31, 2011, 9:38 a.m. UTC
- Show all ethernet MACs in the system.
- Show current ethernet device

Signed-off-by: Michal Simek <monstr@monstr.eu>
---
 common/cmd_bdinfo.c |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

Comments

Wolfgang Denk Sept. 7, 2011, 9:05 p.m. UTC | #1
Dear Michal Simek,

In message <1314783511-1480-1-git-send-email-monstr@monstr.eu> you wrote:
> - Show all ethernet MACs in the system.
> - Show current ethernet device
> 
> Signed-off-by: Michal Simek <monstr@monstr.eu>
> ---
>  common/cmd_bdinfo.c |   32 ++++++++++++++++++++++++++++++--
>  1 files changed, 30 insertions(+), 2 deletions(-)
> 
> diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
> index 6051120..01441de 100644
> --- a/common/cmd_bdinfo.c
> +++ b/common/cmd_bdinfo.c
> @@ -153,6 +153,11 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  
>  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  {
> +#if defined(CONFIG_CMD_NET)
> +	struct eth_device *dev;
> +	int i;
> +#endif
> +
>  	bd_t *bd = gd->bd;
>  	print_num("mem start      ",	(ulong)bd->bi_memstart);
>  	print_lnum("mem size       ",	(u64)bd->bi_memsize);
> @@ -164,7 +169,17 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  	print_num("sram size      ",	(ulong)bd->bi_sramsize);
>  #endif
>  #if defined(CONFIG_CMD_NET)
> -	print_eth(0);
> +	i = 0;
> +	while (1) {
> +		dev = eth_get_dev_by_index(i);
> +		if (dev) {
> +			printf("eth%dname    = %s\n", i, dev->name);
> +			print_eth(i);
> +		} else
> +			break;
> +		i++;
> +	}
> +	printf("current eth = %s\n", eth_get_name());
>  	printf("ip_addr     = %pI4\n", &bd->bi_ip_addr);
>  #endif
>  	printf("baudrate    = %ld bps\n", (ulong)bd->bi_baudrate);
> @@ -330,6 +345,9 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  {
>  	int i;
>  	bd_t *bd = gd->bd;
> +#if defined(CONFIG_CMD_NET)
> +	struct eth_device *dev;
> +#endif
>  
>  	print_num("arch_number",	bd->bi_arch_number);
>  	print_num("boot_params",	(ulong)bd->bi_boot_params);
> @@ -341,7 +359,17 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  	}
>  
>  #if defined(CONFIG_CMD_NET)
> -	print_eth(0);
> +	i = 0;
> +	while (1) {
> +		dev = eth_get_dev_by_index(i)
> +		if (dev) {
> +			printf("eth%dname    = %s\n", i, dev->name);
> +			print_eth(i);
> +		} else
> +			break;
> +		i++;
> +	}
> +	printf("current eth = %s\n", eth_get_name());

Instead of repeating this code we should turn it into a function.

Best regards,

Wolfgang Denk
Marek Vasut Sept. 7, 2011, 10:45 p.m. UTC | #2
On Wednesday, August 31, 2011 11:38:31 AM Michal Simek wrote:
> - Show all ethernet MACs in the system.
> - Show current ethernet device
> 
> Signed-off-by: Michal Simek <monstr@monstr.eu>
> ---
>  common/cmd_bdinfo.c |   32 ++++++++++++++++++++++++++++++--
>  1 files changed, 30 insertions(+), 2 deletions(-)
> 
> diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
> index 6051120..01441de 100644
> --- a/common/cmd_bdinfo.c
> +++ b/common/cmd_bdinfo.c
> @@ -153,6 +153,11 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc,
> char * const argv[])
> 
>  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  {
> +#if defined(CONFIG_CMD_NET)
> +	struct eth_device *dev;
> +	int i;
> +#endif
> +
>  	bd_t *bd = gd->bd;
>  	print_num("mem start      ",	(ulong)bd->bi_memstart);
>  	print_lnum("mem size       ",	(u64)bd->bi_memsize);
> @@ -164,7 +169,17 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc,
> char * const argv[]) print_num("sram size      ",	(ulong)bd->bi_sramsize);
>  #endif
>  #if defined(CONFIG_CMD_NET)
> -	print_eth(0);
> +	i = 0;
> +	while (1) {
> +		dev = eth_get_dev_by_index(i);
> +		if (dev) {
> +			printf("eth%dname    = %s\n", i, dev->name);
> +			print_eth(i);
> +		} else
> +			break;
> +		i++;
> +	}

i = 0;
do {
	dev = eth_get_dev_by_index(i++);
} while (dev);
i--;

... or something
diff mbox

Patch

diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
index 6051120..01441de 100644
--- a/common/cmd_bdinfo.c
+++ b/common/cmd_bdinfo.c
@@ -153,6 +153,11 @@  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
+#if defined(CONFIG_CMD_NET)
+	struct eth_device *dev;
+	int i;
+#endif
+
 	bd_t *bd = gd->bd;
 	print_num("mem start      ",	(ulong)bd->bi_memstart);
 	print_lnum("mem size       ",	(u64)bd->bi_memsize);
@@ -164,7 +169,17 @@  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	print_num("sram size      ",	(ulong)bd->bi_sramsize);
 #endif
 #if defined(CONFIG_CMD_NET)
-	print_eth(0);
+	i = 0;
+	while (1) {
+		dev = eth_get_dev_by_index(i);
+		if (dev) {
+			printf("eth%dname    = %s\n", i, dev->name);
+			print_eth(i);
+		} else
+			break;
+		i++;
+	}
+	printf("current eth = %s\n", eth_get_name());
 	printf("ip_addr     = %pI4\n", &bd->bi_ip_addr);
 #endif
 	printf("baudrate    = %ld bps\n", (ulong)bd->bi_baudrate);
@@ -330,6 +345,9 @@  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	bd_t *bd = gd->bd;
+#if defined(CONFIG_CMD_NET)
+	struct eth_device *dev;
+#endif
 
 	print_num("arch_number",	bd->bi_arch_number);
 	print_num("boot_params",	(ulong)bd->bi_boot_params);
@@ -341,7 +359,17 @@  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	}
 
 #if defined(CONFIG_CMD_NET)
-	print_eth(0);
+	i = 0;
+	while (1) {
+		dev = eth_get_dev_by_index(i)
+		if (dev) {
+			printf("eth%dname    = %s\n", i, dev->name);
+			print_eth(i);
+		} else
+			break;
+		i++;
+	}
+	printf("current eth = %s\n", eth_get_name());
 	printf("ip_addr     = %pI4\n", &bd->bi_ip_addr);
 #endif
 	printf("baudrate    = %d bps\n", bd->bi_baudrate);