From b5540a2c62e05af9650f51454a66e07ae8173d22 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Wed, 23 Jan 2013 12:02:32 +0100 Subject: [PATCH] common: cmd_bdinfo: Fix bdinfo to show all MACs for Microblaze and ARM - Show all ethernet MACs in the system. - Show current ethernet device Signed-off-by: Michal Simek --- common/cmd_bdinfo.c | 53 ++++++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c index fc50e589cb6..65a5e080624 100644 --- a/common/cmd_bdinfo.c +++ b/common/cmd_bdinfo.c @@ -50,6 +50,25 @@ static void print_eth(int idx) printf("%-12s= %s\n", name, val); } +__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) { @@ -184,11 +203,6 @@ 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); @@ -200,18 +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) - 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 = %s\n", getenv("ipaddr")); + print_eths(); #endif printf("baudrate = %u bps\n", (ulong)bd->bi_baudrate); return 0; @@ -370,9 +373,6 @@ 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); @@ -384,18 +384,7 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) } #if defined(CONFIG_CMD_NET) - 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 = %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)) -- 2.47.3