The bi_enetaddr field in struct bd_info is write-only; nothing ever
reads back the value.

Moreover, the value we write is more or less random, and certainly not
something one can rely on: If the board has a writable environment and
the mac address has been stored there, we fetch that value. But if the
board doesn't, this code runs before initr_net() -> eth_initialize(),
and thus before the code in eth-uclass which fetches MAC addresses
from eeprom, fuses or whatnot and populates the (run-time) environment
with those values.

Signed-off-by: Rasmus Villemoes <rasmus.villem...@prevas.dk>
---
 common/board_r.c             | 15 ---------------
 include/asm-generic/u-boot.h |  1 -
 2 files changed, 16 deletions(-)

diff --git a/common/board_r.c b/common/board_r.c
index 6f4aca2077..3e6ba3a9bc 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -469,18 +469,6 @@ static int initr_malloc_bootparams(void)
 }
 #endif
 
-#ifdef CONFIG_CMD_NET
-static int initr_ethaddr(void)
-{
-       struct bd_info *bd = gd->bd;
-
-       /* kept around for legacy kernels only ... ignore the next section */
-       eth_env_get_enetaddr("ethaddr", bd->bi_enetaddr);
-
-       return 0;
-}
-#endif /* CONFIG_CMD_NET */
-
 #if defined(CONFIG_LED_STATUS)
 static int initr_status_led(void)
 {
@@ -756,9 +744,6 @@ static init_fnc_t init_sequence_r[] = {
        initr_status_led,
 #endif
        /* PPC has a udelay(20) here dating from 2002. Why? */
-#ifdef CONFIG_CMD_NET
-       initr_ethaddr,
-#endif
 #if defined(CONFIG_GPIO_HOG)
        gpio_hog_probe_all,
 #endif
diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h
index 1becc669ae..70303acd55 100644
--- a/include/asm-generic/u-boot.h
+++ b/include/asm-generic/u-boot.h
@@ -48,7 +48,6 @@ struct bd_info {
 #endif
        unsigned long   bi_bootflags;   /* boot / reboot flag (Unused) */
        unsigned long   bi_ip_addr;     /* IP Address */
-       unsigned char   bi_enetaddr[6]; /* OLD: see README.enetaddr */
        unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
        unsigned long   bi_intfreq;     /* Internal Freq, in MHz */
        unsigned long   bi_busfreq;     /* Bus Freq, in MHz */
-- 
2.31.1

Reply via email to