[PATCH 3/4] cmd: bdinfo: Print ethaddr of current MAC

Marek Vasut marek.vasut+renesas at mailbox.org
Sat Apr 22 15:01:33 CEST 2023


Instead of always printing ethaddr of MAC 0, print eth%daddr of the current MAC.

Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: Jason Liu <jason.hui.liu at nxp.com>
Cc: Michal Simek <michal.simek at amd.com>
Cc: Ovidiu Panait <ovpanait at gmail.com>
Cc: Simon Glass <sjg at chromium.org>
---
 cmd/bdinfo.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index 71a122466b0..365357ca545 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -42,19 +42,25 @@ void bdinfo_print_num_ll(const char *name, unsigned long long value)
 	printf("%-12s= 0x%.*llx\n", name, 2 * (int)sizeof(ulong), value);
 }
 
-static void print_eth(int idx)
+static void print_eth(void)
 {
-	char name[10], *val;
+	const int idx = eth_get_dev_index();
+	uchar enetaddr[6];
+	char name[10];
+	int ret;
+
 	if (idx)
 		sprintf(name, "eth%iaddr", idx);
 	else
 		strcpy(name, "ethaddr");
-	val = env_get(name);
-	if (!val)
-		val = "(not set)";
+
+	ret = eth_env_get_enetaddr_by_index("eth", idx, enetaddr);
 
 	printf("current eth = %s\n", eth_get_name());
-	printf("%-12s= %s\n", name, val);
+	if (!ret)
+		printf("%-12s= (not set)\n", name);
+	else
+		printf("%-12s= %pM\n", name, enetaddr);
 	printf("IP addr     = %s\n", env_get("ipaddr"));
 }
 
@@ -128,7 +134,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 	bdinfo_print_num_l("reloc off", gd->reloc_off);
 	printf("%-12s= %u-bit\n", "Build", (uint)sizeof(void *) * 8);
 	if (IS_ENABLED(CONFIG_CMD_NET))
-		print_eth(0);
+		print_eth();
 	bdinfo_print_num_l("fdt_blob", (ulong)map_to_sysmem(gd->fdt_blob));
 	bdinfo_print_num_l("new_fdt", (ulong)map_to_sysmem(gd->new_fdt));
 	bdinfo_print_num_l("fdt_size", (ulong)gd->fdt_size);
-- 
2.39.2



More information about the U-Boot mailing list