[U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api
Ben Warren
biggerbadderben at gmail.com
Fri Aug 7 23:37:51 CEST 2009
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 <prafulla at marvell.com>
>> ---
>> 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 ...
regards,
Ben
More information about the U-Boot
mailing list