diff mbox

[U-Boot,v2] mvgbe: remove setting of ethaddr within the driver

Message ID 1321570349-4224-1-git-send-email-michael@walle.cc
State Accepted
Commit 19a5944fcd623f1793ce57569171f617200e4b15
Headers show

Commit Message

Michael Walle Nov. 17, 2011, 10:52 p.m. UTC
A network driver should not touch the environment at all. This patch fixes
this behaviour by removing the code for setting a default/randomized MAC
address.

Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Prafulla Wadaskar <prafulla@marvell.com>
Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
Cc: Eric Cooper <ecc@cmu.edu>
Cc: Jason Cooper <u-boot@lakedaemon.net>
Cc: Siddarth Gore <gores@marvell.com>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Cc: Simon Guinot <simon.guinot@sequanux.org>
---
 drivers/net/mvgbe.c |   23 -----------------------
 1 files changed, 0 insertions(+), 23 deletions(-)

Comments

Mike Frysinger Nov. 19, 2011, 3:58 a.m. UTC | #1
On Thursday 17 November 2011 17:52:29 Michael Walle wrote:
> --- a/drivers/net/mvgbe.c
> +++ b/drivers/net/mvgbe.c
>
>  		switch (devnum) {
>  		case 0:
>  			dmvgbe->regs = (void *)MVGBE0_BASE;

unrelated, but usually this is pushed into an option to the init func ... the 
caller passes in the base address for the regs rather than the func trying to 
decode things itself.
-mike
Prafulla Wadaskar Nov. 21, 2011, 4:39 a.m. UTC | #2
> -----Original Message-----
> From: Michael Walle [mailto:michael@walle.cc]
> Sent: Friday, November 18, 2011 4:22 AM
> To: u-boot@lists.denx.de
> Cc: Wolfgang Denk; Michael Walle; Mike Frysinger; Prafulla
> Wadaskar; Valentin Longchamp; Eric Cooper; Jason Cooper;
> Siddarth Gore; Albert ARIBAUD; Simon Guinot
> Subject: [PATCH v2] mvgbe: remove setting of ethaddr within the
> driver
> 
> A network driver should not touch the environment at all. This
> patch fixes
> this behaviour by removing the code for setting a
> default/randomized MAC
> address.
> 
> Signed-off-by: Michael Walle <michael@walle.cc>
> Acked-by: Mike Frysinger <vapier@gentoo.org>
> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
> Cc: Mike Frysinger <vapier@gentoo.org>
> Cc: Prafulla Wadaskar <prafulla@marvell.com>
> Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> Cc: Eric Cooper <ecc@cmu.edu>
> Cc: Jason Cooper <u-boot@lakedaemon.net>
> Cc: Siddarth Gore <gores@marvell.com>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> Cc: Simon Guinot <simon.guinot@sequanux.org>
> ---
>  drivers/net/mvgbe.c |   23 -----------------------
>  1 files changed, 0 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
> index c7f7446..21be642 100644
> --- a/drivers/net/mvgbe.c
> +++ b/drivers/net/mvgbe.c
> @@ -647,7 +647,6 @@ int mvgbe_initialize(bd_t *bis)
>  	struct mvgbe_device *dmvgbe;
>  	struct eth_device *dev;
>  	int devnum;
> -	char *s;
>  	u8 used_ports[MAX_MVGBE_DEVS] = CONFIG_MVGBE_PORTS;
> 
>  	for (devnum = 0; devnum < MAX_MVGBE_DEVS; devnum++) {
> @@ -702,16 +701,13 @@ error1:
>  		/* must be less than NAMESIZE (16) */
>  		sprintf(dev->name, "egiga%d", devnum);
> 
> -		/* Extract the MAC address from the environment */
>  		switch (devnum) {
>  		case 0:
>  			dmvgbe->regs = (void *)MVGBE0_BASE;
> -			s = "ethaddr";
>  			break;
>  #if defined(MVGBE1_BASE)
>  		case 1:
>  			dmvgbe->regs = (void *)MVGBE1_BASE;
> -			s = "eth1addr";
>  			break;
>  #endif
>  		default:	/* this should never happen */
> @@ -720,25 +716,6 @@ error1:
>  			return -1;
>  		}
> 
> -		while (!eth_getenv_enetaddr(s, dev->enetaddr)) {
> -			/* Generate Private MAC addr if not set */
> -			dev->enetaddr[0] = 0x02;
> -			dev->enetaddr[1] = 0x50;
> -			dev->enetaddr[2] = 0x43;
> -#if defined (CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION)
> -			/* Generate fixed lower MAC half using devnum */
> -			dev->enetaddr[3] = 0;
> -			dev->enetaddr[4] = 0;
> -			dev->enetaddr[5] = devnum;
> -#else
> -			/* Generate random lower MAC half */
> -			dev->enetaddr[3] = get_random_hex();
> -			dev->enetaddr[4] = get_random_hex();
> -			dev->enetaddr[5] = get_random_hex();
> -#endif
> -			eth_setenv_enetaddr(s, dev->enetaddr);
> -		}
> -
>  		dev->init = (void *)mvgbe_init;
>  		dev->halt = (void *)mvgbe_halt;
>  		dev->send = (void *)mvgbe_send;
> --
> 1.7.2.5

Ack for this patch
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>

Regards..
Prafulla . . .
Wolfgang Denk Dec. 20, 2011, 9:55 p.m. UTC | #3
Dear Michael Walle,

In message <1321570349-4224-1-git-send-email-michael@walle.cc> you wrote:
> A network driver should not touch the environment at all. This patch fixes
> this behaviour by removing the code for setting a default/randomized MAC
> address.
> 
> Signed-off-by: Michael Walle <michael@walle.cc>
> Acked-by: Mike Frysinger <vapier@gentoo.org>
> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
> Cc: Mike Frysinger <vapier@gentoo.org>
> Cc: Prafulla Wadaskar <prafulla@marvell.com>
> Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> Cc: Eric Cooper <ecc@cmu.edu>
> Cc: Jason Cooper <u-boot@lakedaemon.net>
> Cc: Siddarth Gore <gores@marvell.com>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> Cc: Simon Guinot <simon.guinot@sequanux.org>
> ---
>  drivers/net/mvgbe.c |   23 -----------------------
>  1 files changed, 0 insertions(+), 23 deletions(-)

Applied to "next" branch, thanks.

Best regards,

Wolfgang Denk
Wolfgang Denk Dec. 20, 2011, 9:57 p.m. UTC | #4
Dear Michael Walle,

In message <1321570349-4224-1-git-send-email-michael@walle.cc> you wrote:
> A network driver should not touch the environment at all. This patch fixes
> this behaviour by removing the code for setting a default/randomized MAC
> address.
> 
> Signed-off-by: Michael Walle <michael@walle.cc>
> Acked-by: Mike Frysinger <vapier@gentoo.org>
> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
> Cc: Mike Frysinger <vapier@gentoo.org>
> Cc: Prafulla Wadaskar <prafulla@marvell.com>
> Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> Cc: Eric Cooper <ecc@cmu.edu>
> Cc: Jason Cooper <u-boot@lakedaemon.net>
> Cc: Siddarth Gore <gores@marvell.com>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> Cc: Simon Guinot <simon.guinot@sequanux.org>
> ---
>  drivers/net/mvgbe.c |   23 -----------------------
>  1 files changed, 0 insertions(+), 23 deletions(-)

Applied to "next" branch, thanks.

Best regards,

Wolfgang Denk
diff mbox

Patch

diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index c7f7446..21be642 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -647,7 +647,6 @@  int mvgbe_initialize(bd_t *bis)
 	struct mvgbe_device *dmvgbe;
 	struct eth_device *dev;
 	int devnum;
-	char *s;
 	u8 used_ports[MAX_MVGBE_DEVS] = CONFIG_MVGBE_PORTS;
 
 	for (devnum = 0; devnum < MAX_MVGBE_DEVS; devnum++) {
@@ -702,16 +701,13 @@  error1:
 		/* must be less than NAMESIZE (16) */
 		sprintf(dev->name, "egiga%d", devnum);
 
-		/* Extract the MAC address from the environment */
 		switch (devnum) {
 		case 0:
 			dmvgbe->regs = (void *)MVGBE0_BASE;
-			s = "ethaddr";
 			break;
 #if defined(MVGBE1_BASE)
 		case 1:
 			dmvgbe->regs = (void *)MVGBE1_BASE;
-			s = "eth1addr";
 			break;
 #endif
 		default:	/* this should never happen */
@@ -720,25 +716,6 @@  error1:
 			return -1;
 		}
 
-		while (!eth_getenv_enetaddr(s, dev->enetaddr)) {
-			/* Generate Private MAC addr if not set */
-			dev->enetaddr[0] = 0x02;
-			dev->enetaddr[1] = 0x50;
-			dev->enetaddr[2] = 0x43;
-#if defined (CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION)
-			/* Generate fixed lower MAC half using devnum */
-			dev->enetaddr[3] = 0;
-			dev->enetaddr[4] = 0;
-			dev->enetaddr[5] = devnum;
-#else
-			/* Generate random lower MAC half */
-			dev->enetaddr[3] = get_random_hex();
-			dev->enetaddr[4] = get_random_hex();
-			dev->enetaddr[5] = get_random_hex();
-#endif
-			eth_setenv_enetaddr(s, dev->enetaddr);
-		}
-
 		dev->init = (void *)mvgbe_init;
 		dev->halt = (void *)mvgbe_halt;
 		dev->send = (void *)mvgbe_send;