[PATCH] Check mac-address first in fsl_soc.c
Timur Tabi
timur at freescale.com
Sat Feb 10 07:55:24 EST 2007
Sergei Shtylyov wrote:
> Hello.
>
> Timur Tabi wrote:
>> The mac-address property in the device tree should be checked first,
>> before local-mac-address. This is because mac-address contains the most
>> recent MAC address, whereas local-mac-address is the default address.
>> Depending on the platform and the version of U-Boot, U-Boot will set
>> one or the other, or both.
>
> Argh, *when* it will be setting both?
I'm working on a patch now to implement that for 83xx. Whether/when it will be
applied is anyone's guess.
>> - mac_addr = (void *)get_property(np, "mac-address", NULL);
>> - memcpy(fs_enet_data.macaddr, mac_addr, 6);
>> + mac_addr = get_property(np, "mac-address", NULL);
>> + if (!mac_addr || (memcmp(mac_addr, "\0\0\0\0\0", 6) == 0)) {
>> + mac_addr = get_property(np, "local-mac-address", NULL);
>> + if (!mac_addr || (memcmp(mac_addr, "\0\0\0\0\0", 6) == 0)) {
>> + /* Obsolete */
>> + mac_addr = get_property(np, "address", NULL);
>> + }
>> + }
>> +
>> + if (mac_addr)
>> + memcpy(fs_enet_data.macaddr, mac_addr, 6);
>
> These are just asking to be put into a separate function... :-)
I wanted to keep my patch simple.
--
Timur Tabi
Linux Kernel Developer @ Freescale
More information about the Linuxppc-dev
mailing list