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

login
register
mail settings
Submitter Michal Simek
Date Jan. 23, 2013, 11:23 a.m.
Message ID <1358940182-28158-1-git-send-email-michal.simek@xilinx.com>
Download mbox | patch
Permalink /patch/214891/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Michal Simek - Jan. 23, 2013, 11:23 a.m.
- Show all ethernet MACs in the system.
- Show current ethernet device

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
 common/cmd_bdinfo.c |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)
Tom Rini - Feb. 20, 2013, 3:01 p.m.
On Wed, Jan 23, 2013 at 01:23:02AM -0000, Michal Simek wrote:

> - Show all ethernet MACs in the system.
> - Show current ethernet device
> 
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>

Applied to u-boot/master, thanks!

Patch

diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
index 48cdd16..65a5e08 100644
--- a/common/cmd_bdinfo.c
+++ b/common/cmd_bdinfo.c
@@ -51,6 +51,25 @@  static void print_eth(int idx)
 }
 
 __maybe_unused
+static void print_eths(void)
+{
+	struct eth_device *dev;
+	int i = 0;
+
+	do {
+		dev = eth_get_dev_by_index(i);
+		if (dev) {
+			printf("eth%dname    = %s\n", i, dev->name);
+			print_eth(i);
+			i++;
+		}
+	} while (dev);
+
+	printf("current eth = %s\n", eth_get_name());
+	printf("ip_addr     = %s\n", getenv("ipaddr"));
+}
+
+__maybe_unused
 static void print_lnum(const char *name, unsigned long long value)
 {
 	printf("%-12s= 0x%.8llX\n", name, value);
@@ -195,8 +214,7 @@  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);
-	printf("ip_addr     = %s\n", getenv("ipaddr"));
+	print_eths();
 #endif
 	printf("baudrate    = %u bps\n", (ulong)bd->bi_baudrate);
 	return 0;
@@ -366,8 +384,7 @@  int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	}
 
 #if defined(CONFIG_CMD_NET)
-	print_eth(0);
-	printf("ip_addr     = %s\n", getenv("ipaddr"));
+	print_eths();
 #endif
 	printf("baudrate    = %u bps\n", bd->bi_baudrate);
 #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))