net: Remove all calls to net_random_ethaddr()

Remove the calls to net_random_ethaddr() that some boards and some
drivers are calling. This is now implemented inside of net/eth.c

Enable the feature for all boards that previously enabled it.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-By: Michael Walle <michael@walle.cc> (for the lsxl board part)

Series-changes: 2
-Fixed bfin build errors
diff --git a/board/bct-brettl2/bct-brettl2.c b/board/bct-brettl2/bct-brettl2.c
index 1f0dfb4..bf7cd62 100644
--- a/board/bct-brettl2/bct-brettl2.c
+++ b/board/bct-brettl2/bct-brettl2.c
@@ -29,13 +29,6 @@
 }
 
 #ifdef CONFIG_BFIN_MAC
-static void board_init_enetaddr(uchar *mac_addr)
-{
-	puts("Warning: Generating 'random' MAC address\n");
-	net_random_ethaddr(mac_addr);
-	eth_setenv_enetaddr("ethaddr", mac_addr);
-}
-
 int board_eth_init(bd_t *bis)
 {
 	int retry = 3;
@@ -107,12 +100,6 @@
 /* miscellaneous platform dependent initialisations */
 int misc_init_r(void)
 {
-#ifdef CONFIG_BFIN_MAC
-	uchar enetaddr[6];
-	if (!eth_getenv_enetaddr("ethaddr", enetaddr))
-		board_init_enetaddr(enetaddr);
-#endif
-
 	gpio_cfi_flash_init();
 	init_tlv320aic31();
 	init_mute_pin();
diff --git a/board/bf518f-ezbrd/bf518f-ezbrd.c b/board/bf518f-ezbrd/bf518f-ezbrd.c
index 8ecfbb2..bf4a7db 100644
--- a/board/bf518f-ezbrd/bf518f-ezbrd.c
+++ b/board/bf518f-ezbrd/bf518f-ezbrd.c
@@ -29,28 +29,14 @@
 #if defined(CONFIG_BFIN_MAC)
 static void board_init_enetaddr(uchar *mac_addr)
 {
-#ifdef CONFIG_SYS_NO_FLASH
-# define USE_MAC_IN_FLASH 0
-#else
-# define USE_MAC_IN_FLASH 1
-#endif
-	bool valid_mac = false;
-
-	if (USE_MAC_IN_FLASH) {
-		/* we cram the MAC in the last flash sector */
-		uchar *board_mac_addr = (uchar *)0x203F0096;
-		if (is_valid_ethaddr(board_mac_addr)) {
-			memcpy(mac_addr, board_mac_addr, 6);
-			valid_mac = true;
-		}
-	}
-
-	if (!valid_mac) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(mac_addr);
+#ifndef CONFIG_SYS_NO_FLASH
+	/* we cram the MAC in the last flash sector */
+	uchar *board_mac_addr = (uchar *)0x203F0096;
+	if (is_valid_ethaddr(board_mac_addr)) {
+		memcpy(mac_addr, board_mac_addr, 6);
+		eth_setenv_enetaddr("ethaddr", mac_addr);
 	}
-
-	eth_setenv_enetaddr("ethaddr", mac_addr);
+#endif
 }
 
 /* Only the first run of boards had a KSZ switch */
diff --git a/board/bf526-ezbrd/bf526-ezbrd.c b/board/bf526-ezbrd/bf526-ezbrd.c
index 0a88491..db1ee28 100644
--- a/board/bf526-ezbrd/bf526-ezbrd.c
+++ b/board/bf526-ezbrd/bf526-ezbrd.c
@@ -26,28 +26,14 @@
 #ifdef CONFIG_BFIN_MAC
 static void board_init_enetaddr(uchar *mac_addr)
 {
-#ifdef CONFIG_SYS_NO_FLASH
-# define USE_MAC_IN_FLASH 0
-#else
-# define USE_MAC_IN_FLASH 1
-#endif
-	bool valid_mac = false;
-
-	if (USE_MAC_IN_FLASH) {
-		/* we cram the MAC in the last flash sector */
-		uchar *board_mac_addr = (uchar *)0x203F0096;
-		if (is_valid_ethaddr(board_mac_addr)) {
-			memcpy(mac_addr, board_mac_addr, 6);
-			valid_mac = true;
-		}
-	}
-
-	if (!valid_mac) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(mac_addr);
+#ifndef CONFIG_SYS_NO_FLASH
+	/* we cram the MAC in the last flash sector */
+	uchar *board_mac_addr = (uchar *)0x203F0096;
+	if (is_valid_ethaddr(board_mac_addr)) {
+		memcpy(mac_addr, board_mac_addr, 6);
+		eth_setenv_enetaddr("ethaddr", mac_addr);
 	}
-
-	eth_setenv_enetaddr("ethaddr", mac_addr);
+#endif
 }
 
 int board_eth_init(bd_t *bis)
diff --git a/board/bf527-ezkit/bf527-ezkit.c b/board/bf527-ezkit/bf527-ezkit.c
index 257775f..b551d4e 100644
--- a/board/bf527-ezkit/bf527-ezkit.c
+++ b/board/bf527-ezkit/bf527-ezkit.c
@@ -27,8 +27,6 @@
 #ifdef CONFIG_BFIN_MAC
 static void board_init_enetaddr(uchar *mac_addr)
 {
-	bool valid_mac = false;
-
 	/* the MAC is stored in OTP memory page 0xDF */
 	uint32_t ret;
 	uint64_t otp_mac;
@@ -41,15 +39,8 @@
 			mac_addr[ret] = otp_mac_p[5 - ret];
 
 		if (is_valid_ethaddr(mac_addr))
-			valid_mac = true;
-	}
-
-	if (!valid_mac) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(mac_addr);
+			eth_setenv_enetaddr("ethaddr", mac_addr);
 	}
-
-	eth_setenv_enetaddr("ethaddr", mac_addr);
 }
 
 int board_eth_init(bd_t *bis)
diff --git a/board/bf537-minotaur/bf537-minotaur.c b/board/bf537-minotaur/bf537-minotaur.c
index 71b4293..9312216 100644
--- a/board/bf537-minotaur/bf537-minotaur.c
+++ b/board/bf537-minotaur/bf537-minotaur.c
@@ -23,26 +23,8 @@
 }
 
 #ifdef CONFIG_BFIN_MAC
-static void board_init_enetaddr(uchar *mac_addr)
-{
-	puts("Warning: Generating 'random' MAC address\n");
-	net_random_ethaddr(mac_addr);
-	eth_setenv_enetaddr("ethaddr", mac_addr);
-}
-
 int board_eth_init(bd_t *bis)
 {
 	return bfin_EMAC_initialize(bis);
 }
 #endif
-
-int misc_init_r(void)
-{
-#ifdef CONFIG_BFIN_MAC
-	uchar enetaddr[6];
-	if (!eth_getenv_enetaddr("ethaddr", enetaddr))
-		board_init_enetaddr(enetaddr);
-#endif
-
-	return 0;
-}
diff --git a/board/bf537-pnav/bf537-pnav.c b/board/bf537-pnav/bf537-pnav.c
index 93522df..6739fe1 100644
--- a/board/bf537-pnav/bf537-pnav.c
+++ b/board/bf537-pnav/bf537-pnav.c
@@ -23,26 +23,8 @@
 }
 
 #ifdef CONFIG_BFIN_MAC
-static void board_init_enetaddr(uchar *mac_addr)
-{
-	puts("Warning: Generating 'random' MAC address\n");
-	net_random_ethaddr(mac_addr);
-	eth_setenv_enetaddr("ethaddr", mac_addr);
-}
-
 int board_eth_init(bd_t *bis)
 {
 	return bfin_EMAC_initialize(bis);
 }
 #endif
-
-int misc_init_r(void)
-{
-#ifdef CONFIG_BFIN_MAC
-	uchar enetaddr[6];
-	if (!eth_getenv_enetaddr("ethaddr", enetaddr))
-		board_init_enetaddr(enetaddr);
-#endif
-
-	return 0;
-}
diff --git a/board/bf537-srv1/bf537-srv1.c b/board/bf537-srv1/bf537-srv1.c
index 6581028..b0ffe1a 100644
--- a/board/bf537-srv1/bf537-srv1.c
+++ b/board/bf537-srv1/bf537-srv1.c
@@ -23,26 +23,8 @@
 }
 
 #ifdef CONFIG_BFIN_MAC
-static void board_init_enetaddr(uchar *mac_addr)
-{
-	puts("Warning: Generating 'random' MAC address\n");
-	net_random_ethaddr(mac_addr);
-	eth_setenv_enetaddr("ethaddr", mac_addr);
-}
-
 int board_eth_init(bd_t *bis)
 {
 	return bfin_EMAC_initialize(bis);
 }
 #endif
-
-int misc_init_r(void)
-{
-#ifdef CONFIG_BFIN_MAC
-	uchar enetaddr[6];
-	if (!eth_getenv_enetaddr("ethaddr", enetaddr))
-		board_init_enetaddr(enetaddr);
-#endif
-
-	return 0;
-}
diff --git a/board/bf537-stamp/bf537-stamp.c b/board/bf537-stamp/bf537-stamp.c
index 66e5492..85d41d0 100644
--- a/board/bf537-stamp/bf537-stamp.c
+++ b/board/bf537-stamp/bf537-stamp.c
@@ -29,28 +29,14 @@
 #ifdef CONFIG_BFIN_MAC
 static void board_init_enetaddr(uchar *mac_addr)
 {
-#ifdef CONFIG_SYS_NO_FLASH
-# define USE_MAC_IN_FLASH 0
-#else
-# define USE_MAC_IN_FLASH 1
-#endif
-	bool valid_mac = false;
-
-	if (USE_MAC_IN_FLASH) {
-		/* we cram the MAC in the last flash sector */
-		uchar *board_mac_addr = (uchar *)0x203F0000;
-		if (is_valid_ethaddr(board_mac_addr)) {
-			memcpy(mac_addr, board_mac_addr, 6);
-			valid_mac = true;
-		}
-	}
-
-	if (!valid_mac) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(mac_addr);
+#ifndef CONFIG_SYS_NO_FLASH
+	/* we cram the MAC in the last flash sector */
+	uchar *board_mac_addr = (uchar *)0x203F0000;
+	if (is_valid_ethaddr(board_mac_addr)) {
+		memcpy(mac_addr, board_mac_addr, 6);
+		eth_setenv_enetaddr("ethaddr", mac_addr);
 	}
-
-	eth_setenv_enetaddr("ethaddr", mac_addr);
+#endif
 }
 
 int board_eth_init(bd_t *bis)
diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c
index 487875c..45dd788 100644
--- a/board/buffalo/lsxl/lsxl.c
+++ b/board/buffalo/lsxl/lsxl.c
@@ -230,16 +230,6 @@
 	uchar enetaddr[6];
 
 	printf("Entering rescue mode..\n");
-#ifdef CONFIG_RANDOM_MACADDR
-	if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
-		net_random_ethaddr(enetaddr);
-		if (eth_setenv_enetaddr("ethaddr", enetaddr)) {
-			printf("Failed to set ethernet address\n");
-				set_led(LED_ALARM_BLINKING);
-			return;
-		}
-	}
-#endif
 	setenv("bootsource", "rescue");
 }
 
diff --git a/board/cm-bf527/cm-bf527.c b/board/cm-bf527/cm-bf527.c
index 2871fa2..3186c67 100644
--- a/board/cm-bf527/cm-bf527.c
+++ b/board/cm-bf527/cm-bf527.c
@@ -26,8 +26,6 @@
 #ifdef CONFIG_BFIN_MAC
 static void board_init_enetaddr(uchar *mac_addr)
 {
-	bool valid_mac = false;
-
 	/* the MAC is stored in OTP memory page 0xDF */
 	uint32_t ret;
 	uint64_t otp_mac;
@@ -40,15 +38,8 @@
 			mac_addr[ret] = otp_mac_p[5 - ret];
 
 		if (is_valid_ethaddr(mac_addr))
-			valid_mac = true;
-	}
-
-	if (!valid_mac) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(mac_addr);
+			eth_setenv_enetaddr("ethaddr", mac_addr);
 	}
-
-	eth_setenv_enetaddr("ethaddr", mac_addr);
 }
 
 int board_eth_init(bd_t *bis)
diff --git a/board/cm-bf537e/cm-bf537e.c b/board/cm-bf537e/cm-bf537e.c
index 902611e..57c72a2 100644
--- a/board/cm-bf537e/cm-bf537e.c
+++ b/board/cm-bf537e/cm-bf537e.c
@@ -23,18 +23,6 @@
 	return 0;
 }
 
-static void board_init_enetaddr(char *var)
-{
-	uchar enetaddr[6];
-
-	if (eth_getenv_enetaddr(var, enetaddr))
-		return;
-
-	printf("Warning: %s: generating 'random' MAC address\n", var);
-	net_random_ethaddr(enetaddr);
-	eth_setenv_enetaddr(var, enetaddr);
-}
-
 #ifndef CONFIG_BFIN_MAC
 # define bfin_EMAC_initialize(x) 1
 #endif
@@ -50,9 +38,6 @@
 
 int misc_init_r(void)
 {
-	board_init_enetaddr("ethaddr");
-	board_init_enetaddr("eth1addr");
-
 	gpio_cfi_flash_init();
 
 	return 0;
diff --git a/board/cm-bf537u/cm-bf537u.c b/board/cm-bf537u/cm-bf537u.c
index 69bffd7..f365cdb 100644
--- a/board/cm-bf537u/cm-bf537u.c
+++ b/board/cm-bf537u/cm-bf537u.c
@@ -23,18 +23,6 @@
 	return 0;
 }
 
-static void board_init_enetaddr(char *var)
-{
-	uchar enetaddr[6];
-
-	if (eth_getenv_enetaddr(var, enetaddr))
-		return;
-
-	printf("Warning: %s: generating 'random' MAC address\n", var);
-	net_random_ethaddr(enetaddr);
-	eth_setenv_enetaddr(var, enetaddr);
-}
-
 #ifndef CONFIG_BFIN_MAC
 # define bfin_EMAC_initialize(x) 1
 #endif
@@ -50,9 +38,6 @@
 
 int misc_init_r(void)
 {
-	board_init_enetaddr("ethaddr");
-	board_init_enetaddr("eth1addr");
-
 	gpio_cfi_flash_init();
 
 	return 0;
diff --git a/board/dnp5370/dnp5370.c b/board/dnp5370/dnp5370.c
index 655fcac..ae9ba84 100644
--- a/board/dnp5370/dnp5370.c
+++ b/board/dnp5370/dnp5370.c
@@ -36,28 +36,14 @@
 #ifdef CONFIG_BFIN_MAC
 static void board_init_enetaddr(uchar *mac_addr)
 {
-#ifdef CONFIG_SYS_NO_FLASH
-# define USE_MAC_IN_FLASH 0
-#else
-# define USE_MAC_IN_FLASH 1
-#endif
-	bool valid_mac = false;
-
-	if (USE_MAC_IN_FLASH) {
-		/* we cram the MAC in the last flash sector */
-		uchar *board_mac_addr = (uchar *)0x202F0000;
-		if (is_valid_ethaddr(board_mac_addr)) {
-			memcpy(mac_addr, board_mac_addr, 6);
-			valid_mac = true;
-		}
-	}
-
-	if (!valid_mac) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(mac_addr);
+#ifndef CONFIG_SYS_NO_FLASH
+	/* we cram the MAC in the last flash sector */
+	uchar *board_mac_addr = (uchar *)0x202F0000;
+	if (is_valid_ethaddr(board_mac_addr)) {
+		memcpy(mac_addr, board_mac_addr, 6);
+		eth_setenv_enetaddr("ethaddr", mac_addr);
 	}
-
-	eth_setenv_enetaddr("ethaddr", mac_addr);
+#endif
 }
 
 int board_eth_init(bd_t *bis)
diff --git a/board/ip04/ip04.c b/board/ip04/ip04.c
index d20500f..70765bc 100644
--- a/board/ip04/ip04.c
+++ b/board/ip04/ip04.c
@@ -26,16 +26,4 @@
 {
 	return dm9000_initialize(bis);
 }
-
-int misc_init_r(void)
-{
-	uchar enetaddr[6];
-	if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(enetaddr);
-		eth_setenv_enetaddr("ethaddr", enetaddr);
-	}
-
-	return 0;
-}
 #endif
diff --git a/board/tcm-bf518/tcm-bf518.c b/board/tcm-bf518/tcm-bf518.c
index 3fa7d97..4348678 100644
--- a/board/tcm-bf518/tcm-bf518.c
+++ b/board/tcm-bf518/tcm-bf518.c
@@ -23,52 +23,12 @@
 }
 
 #if defined(CONFIG_BFIN_MAC)
-static void board_init_enetaddr(uchar *mac_addr)
-{
-	bool valid_mac = false;
-
-#if 0
-	/* the MAC is stored in OTP memory page 0xDF */
-	uint32_t ret;
-	uint64_t otp_mac;
-
-	ret = bfrom_OtpRead(0xDF, OTP_LOWER_HALF, &otp_mac);
-	if (!(ret & OTP_MASTER_ERROR)) {
-		uchar *otp_mac_p = (uchar *)&otp_mac;
-
-		for (ret = 0; ret < 6; ++ret)
-			mac_addr[ret] = otp_mac_p[5 - ret];
-
-		if (is_valid_ethaddr(mac_addr))
-			valid_mac = true;
-	}
-#endif
-
-	if (!valid_mac) {
-		puts("Warning: Generating 'random' MAC address\n");
-		net_random_ethaddr(mac_addr);
-	}
-
-	eth_setenv_enetaddr("ethaddr", mac_addr);
-}
-
 int board_eth_init(bd_t *bis)
 {
 	return bfin_EMAC_initialize(bis);
 }
 #endif
 
-int misc_init_r(void)
-{
-#ifdef CONFIG_BFIN_MAC
-	uchar enetaddr[6];
-	if (!eth_getenv_enetaddr("ethaddr", enetaddr))
-		board_init_enetaddr(enetaddr);
-#endif
-
-	return 0;
-}
-
 #ifdef CONFIG_BFIN_SDH
 int board_mmc_init(bd_t *bis)
 {
diff --git a/board/tcm-bf537/tcm-bf537.c b/board/tcm-bf537/tcm-bf537.c
index 2531a44..2cf70ca 100644
--- a/board/tcm-bf537/tcm-bf537.c
+++ b/board/tcm-bf537/tcm-bf537.c
@@ -23,18 +23,6 @@
 	return 0;
 }
 
-static void board_init_enetaddr(char *var)
-{
-	uchar enetaddr[6];
-
-	if (eth_getenv_enetaddr(var, enetaddr))
-		return;
-
-	printf("Warning: %s: generating 'random' MAC address\n", var);
-	net_random_ethaddr(enetaddr);
-	eth_setenv_enetaddr(var, enetaddr);
-}
-
 #ifndef CONFIG_BFIN_MAC
 # define bfin_EMAC_initialize(x) 1
 #endif
@@ -50,9 +38,6 @@
 
 int misc_init_r(void)
 {
-	board_init_enetaddr("ethaddr");
-	board_init_enetaddr("eth1addr");
-
 	gpio_cfi_flash_init();
 
 	return 0;
diff --git a/configs/bct-brettl2_defconfig b/configs/bct-brettl2_defconfig
index 26b145d..84eb1fe 100644
--- a/configs/bct-brettl2_defconfig
+++ b/configs/bct-brettl2_defconfig
@@ -1,3 +1,4 @@
 CONFIG_BLACKFIN=y
-CONFIG_TARGET_BCT_BRETTL2=y
+CONFIG_NET=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/bf518f-ezbrd_defconfig b/configs/bf518f-ezbrd_defconfig
index fb35ad0..51f93f8 100644
--- a/configs/bf518f-ezbrd_defconfig
+++ b/configs/bf518f-ezbrd_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_BF518F_EZBRD=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/bf526-ezbrd_defconfig b/configs/bf526-ezbrd_defconfig
index da06d3a..245faac 100644
--- a/configs/bf526-ezbrd_defconfig
+++ b/configs/bf526-ezbrd_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_BF526_EZBRD=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/bf527-ezkit_defconfig b/configs/bf527-ezkit_defconfig
index 69f6ef7..0451c64 100644
--- a/configs/bf527-ezkit_defconfig
+++ b/configs/bf527-ezkit_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_BF527_EZKIT=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/bf537-minotaur_defconfig b/configs/bf537-minotaur_defconfig
index e76118f..1f398a0 100644
--- a/configs/bf537-minotaur_defconfig
+++ b/configs/bf537-minotaur_defconfig
@@ -1,2 +1,4 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_BF537_MINOTAUR=y
+CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/bf537-pnav_defconfig b/configs/bf537-pnav_defconfig
index ba5eaaa..6372258 100644
--- a/configs/bf537-pnav_defconfig
+++ b/configs/bf537-pnav_defconfig
@@ -1,2 +1,4 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_BF537_PNAV=y
+CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/bf537-srv1_defconfig b/configs/bf537-srv1_defconfig
index 61ac0e7..f007c82 100644
--- a/configs/bf537-srv1_defconfig
+++ b/configs/bf537-srv1_defconfig
@@ -1,2 +1,4 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_BF537_SRV1=y
+CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/bf537-stamp_defconfig b/configs/bf537-stamp_defconfig
index 9b9a92f..50483b1 100644
--- a/configs/bf537-stamp_defconfig
+++ b/configs/bf537-stamp_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_BF537_STAMP=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/cm-bf527_defconfig b/configs/cm-bf527_defconfig
index a6830b5..5bceb17 100644
--- a/configs/cm-bf527_defconfig
+++ b/configs/cm-bf527_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_CM_BF527=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/cm-bf537e_defconfig b/configs/cm-bf537e_defconfig
index a44eab7..fd9dd00 100644
--- a/configs/cm-bf537e_defconfig
+++ b/configs/cm-bf537e_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_CM_BF537E=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/cm-bf537u_defconfig b/configs/cm-bf537u_defconfig
index 29c33b9..4a8f123 100644
--- a/configs/cm-bf537u_defconfig
+++ b/configs/cm-bf537u_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_CM_BF537U=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/dnp5370_defconfig b/configs/dnp5370_defconfig
index 0c00087..c7104ca 100644
--- a/configs/dnp5370_defconfig
+++ b/configs/dnp5370_defconfig
@@ -1,2 +1,4 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_DNP5370=y
+CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/ip04_defconfig b/configs/ip04_defconfig
index ba737ae..69110a3 100644
--- a/configs/ip04_defconfig
+++ b/configs/ip04_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_IP04=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/lschlv2_defconfig b/configs/lschlv2_defconfig
index efd8fca..31452a3 100644
--- a/configs/lschlv2_defconfig
+++ b/configs/lschlv2_defconfig
@@ -1,4 +1,6 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_LSXL=y
+CONFIG_NET=y
 CONFIG_SYS_EXTRA_OPTIONS="LSCHLV2"
+CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/lsxhl_defconfig b/configs/lsxhl_defconfig
index bb3a80e..00f48bc 100644
--- a/configs/lsxhl_defconfig
+++ b/configs/lsxhl_defconfig
@@ -1,4 +1,6 @@
 CONFIG_ARM=y
 CONFIG_KIRKWOOD=y
 CONFIG_TARGET_LSXL=y
+CONFIG_NET=y
 CONFIG_SYS_EXTRA_OPTIONS="LSXHL"
+CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/tcm-bf518_defconfig b/configs/tcm-bf518_defconfig
index 0c9ae4d..f16d863 100644
--- a/configs/tcm-bf518_defconfig
+++ b/configs/tcm-bf518_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_TCM_BF518=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/configs/tcm-bf537_defconfig b/configs/tcm-bf537_defconfig
index 6d604b6..7f3a3a6 100644
--- a/configs/tcm-bf537_defconfig
+++ b/configs/tcm-bf537_defconfig
@@ -1,3 +1,5 @@
 CONFIG_BLACKFIN=y
+CONFIG_NET=y
 CONFIG_TARGET_TCM_BF537=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index ccd2131..3c41cec 100644
--- a/drivers/net/dm9000x.c
+++ b/drivers/net/dm9000x.c
@@ -343,13 +343,7 @@
 
 	printf("MAC: %pM\n", dev->enetaddr);
 	if (!is_valid_ethaddr(dev->enetaddr)) {
-#ifdef CONFIG_RANDOM_MACADDR
-		printf("Bad MAC address (uninitialized EEPROM?), randomizing\n");
-		net_random_ethaddr(dev->enetaddr);
-		printf("MAC: %pM\n", dev->enetaddr);
-#else
 		printf("WARNING: Bad MAC address (uninitialized EEPROM?)\n");
-#endif
 	}
 
 	/* fill device MAC address registers */
diff --git a/drivers/net/ftmac110.c b/drivers/net/ftmac110.c
index 4bae9ad..4f17015 100644
--- a/drivers/net/ftmac110.c
+++ b/drivers/net/ftmac110.c
@@ -424,9 +424,6 @@
 	dev->send = ftmac110_send;
 	dev->recv = ftmac110_recv;
 
-	if (!eth_getenv_enetaddr_by_index("eth", card_nr, dev->enetaddr))
-		net_random_ethaddr(dev->enetaddr);
-
 	/* allocate tx descriptors (it must be 16 bytes aligned) */
 	chip->txd = dma_alloc_coherent(
 		sizeof(struct ftmac110_desc) * CFG_TXDES_NUM, &chip->txd_dma);
diff --git a/include/configs/bf537-minotaur.h b/include/configs/bf537-minotaur.h
index 6092f24..e705d08 100644
--- a/include/configs/bf537-minotaur.h
+++ b/include/configs/bf537-minotaur.h
@@ -131,7 +131,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 #define CONFIG_ENV_OVERWRITE	1
-#define CONFIG_MISC_INIT_R
 
 #define CONFIG_BAUDRATE		57600
 #define CONFIG_UART_CONSOLE	0
diff --git a/include/configs/bf537-pnav.h b/include/configs/bf537-pnav.h
index e853b7d..be11a85 100644
--- a/include/configs/bf537-pnav.h
+++ b/include/configs/bf537-pnav.h
@@ -148,7 +148,6 @@
  * Misc Settings
  */
 #define CONFIG_BAUDRATE		115200
-#define CONFIG_MISC_INIT_R
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE	0
 
diff --git a/include/configs/bf537-srv1.h b/include/configs/bf537-srv1.h
index ba2ea2a..9a7edf3 100644
--- a/include/configs/bf537-srv1.h
+++ b/include/configs/bf537-srv1.h
@@ -130,7 +130,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 #define CONFIG_ENV_OVERWRITE	1
-#define CONFIG_MISC_INIT_R
 
 #define CONFIG_BAUDRATE		115200
 #define CONFIG_UART_CONSOLE	0
diff --git a/include/configs/ip04.h b/include/configs/ip04.h
index 2ee215f..2bd81fc 100644
--- a/include/configs/ip04.h
+++ b/include/configs/ip04.h
@@ -131,7 +131,6 @@
  * Misc Settings
  */
 #define CONFIG_BAUDRATE		115200
-#define CONFIG_MISC_INIT_R	/* needed for MAC address */
 #define CONFIG_UART_CONSOLE	0
 
 #undef CONFIG_SHOW_BOOT_PROGRESS
diff --git a/include/configs/lsxl.h b/include/configs/lsxl.h
index c354c29..490f84e 100644
--- a/include/configs/lsxl.h
+++ b/include/configs/lsxl.h
@@ -37,7 +37,6 @@
 #define CONFIG_MISC_INIT_R
 #define CONFIG_SHOW_BOOT_PROGRESS
 
-#define CONFIG_RANDOM_MACADDR
 #define CONFIG_LIB_RAND
 #define CONFIG_KIRKWOOD_GPIO
 #define CONFIG_OF_LIBFDT
diff --git a/include/configs/tcm-bf518.h b/include/configs/tcm-bf518.h
index d4c89b6..e726b29 100644
--- a/include/configs/tcm-bf518.h
+++ b/include/configs/tcm-bf518.h
@@ -109,7 +109,6 @@
  * Misc Settings
  */
 #define CONFIG_BAUDRATE		115200
-#define CONFIG_MISC_INIT_R
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE	0
 #define CONFIG_BOOTCOMMAND	"run flashboot"