
Dear Mike,
In message 1234847451-3210-18-git-send-email-vapier@gentoo.org you wrote:
The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly.
Also, do not bother checking the EEPROM if the env is setup. This simplifies the code greatly.
...
This patch (see also commit 03f3d8d3b39c, http://git.denx.de/?p=u-boot.git;a=commit;h=03f3d8d3b39cf85c0ce7ca903b436701...) changed behaviour of some network drivers.
As I just learned (sorry, I missed this in the initial review) it drops a warning printed by the old code, when there were valid MAC addresses stored both in the U-Boot environment ("ethaddr" variable) and in the controller's EEPROM:
- if (env_present && rom_valid) { /* if both env and ROM are good */
if (memcmp (v_env_mac, v_rom_mac, 6) != 0) {
printf ("\nWarning: MAC addresses don't match:\n");
printf ("\tHW MAC address: "
"%02X:%02X:%02X:%02X:%02X:%02X\n",
v_rom_mac[0], v_rom_mac[1],
v_rom_mac[2], v_rom_mac[3],
v_rom_mac[4], v_rom_mac[5] );
printf ("\t\"ethaddr\" value: "
"%02X:%02X:%02X:%02X:%02X:%02X\n",
v_env_mac[0], v_env_mac[1],
v_env_mac[2], v_env_mac[3],
v_env_mac[4], v_env_mac[5]) ;
debug ("### Set MAC addr from environment\n");
}
- }
This affects other drivers as well (cs8900 for example, in another patch).
Can you please explain what your rationale was for removing this code?
I always found it pretty useful, and am missing it now ;-)
[Note that board/davinci/common/misc.c was added which uses this code, sso one way or another a cleanup is needed.]
Best regards,
Wolfgang Denk