]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
common: cmd_bdinfo: Fix bdinfo to show all MACs for Microblaze and ARM
authorMichal Simek <michal.simek@xilinx.com>
Wed, 23 Jan 2013 11:02:32 +0000 (12:02 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 29 Jan 2013 12:28:13 +0000 (13:28 +0100)
- Show all ethernet MACs in the system.
- Show current ethernet device

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
common/cmd_bdinfo.c

index fc50e589cb69bf249a22ecf6bfd453c6a01ff1eb..65a5e080624d55a874f0a8dadce96f1a446f5a07 100644 (file)
@@ -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))