From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Frysinger Date: Thu, 13 Aug 2009 01:17:25 -0400 Subject: [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api In-Reply-To: <4A7C9EAF.4060507@gmail.com> References: <1249663661-25870-1-git-send-email-prafulla@marvell.com> <20090807210758.GO13346@game.jcrosoft.org> <4A7C9EAF.4060507@gmail.com> Message-ID: <200908130117.28652.vapier@gentoo.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Friday 07 August 2009 17:37:51 Ben Warren wrote: > Jean-Christophe PLAGNIOL-VILLARD wrote: > > On 22:17 Fri 07 Aug , Prafulla Wadaskar wrote: > >> eth_setenv_enetaddr is avaible by upper layer > >> using this saves 204 bytes on total image size > >> > >> Signed-off-by: Prafulla Wadaskar > >> --- > >> drivers/net/kirkwood_egiga.c | 13 ++++++++----- > >> 1 files changed, 8 insertions(+), 5 deletions(-) > >> > >> diff --git a/drivers/net/kirkwood_egiga.c b/drivers/net/kirkwood_egiga.c > >> index 3d908f8..1a208f2 100644 > >> --- a/drivers/net/kirkwood_egiga.c > >> +++ b/drivers/net/kirkwood_egiga.c > >> @@ -606,7 +606,7 @@ int kirkwood_egiga_initialize(bd_t * bis) > >> struct kwgbe_device *dkwgbe; > >> struct eth_device *dev; > >> int devnum; > >> - char *s, buf[NAMESIZE * 2]; > >> + char *s; > >> u8 used_ports[MAX_KWGBE_DEVS] = CONFIG_KIRKWOOD_EGIGA_PORTS; > >> > >> for (devnum = 0; devnum < MAX_KWGBE_DEVS; devnum++) { > >> @@ -665,10 +665,13 @@ int kirkwood_egiga_initialize(bd_t * bis) > >> > >> while (!eth_getenv_enetaddr(s, dev->enetaddr)) { > >> /* Generate Ramdom MAC addresses if not set */ > >> - sprintf(buf, "00:50:43:%02x:%02x:%02x", > >> - get_random_hex(), get_random_hex(), > >> - get_random_hex()); > >> - setenv(s, buf); > >> + dev->enetaddr[0] = 0x00; > >> + dev->enetaddr[1] = 0x50; > >> + dev->enetaddr[2] = 0x43; > >> + dev->enetaddr[3] = get_random_hex(); > >> + dev->enetaddr[4] = get_random_hex(); > >> + dev->enetaddr[5] = get_random_hex(); > >> + eth_setenv_enetaddr(s, dev->enetaddr); > > > > it will be also good to use a private mac address > > dev->enetaddr[0] = 0x02; > > Full ACK. If you're generating something random, it MUST have the > private bit. Unless Marvell owns this block and is giving it away and > is keeping track of all used numbers and ... really we should add a new common eth function that generates a random local mac address ... and have each arch implement a random function. you can see the one i use for Blackfin systems in asm-blackfin/net.h ... -mike -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part. Url : http://lists.denx.de/pipermail/u-boot/attachments/20090813/f95b5a9e/attachment.pgp