
Dear Ben Warren,
In message 1270450929-17004-1-git-send-email-biggerbadderben@gmail.com you wrote:
Add a new function to the eth_device struct for programming a network controller's hardware address.
After all network devices have been initialized and the proper MAC address for each has been determined, make a device driver call to program the address into the device. Only device instances with valid unicast addresses will be programmed.
This is a significant departure from existing U-boot behavior, but costs very little in startup time and addresses a very common complaint among developers.
The thing is that this _is_ a violation of the design rules, and we should not make assumptions that such an initialization is harmless for all systems.
From the patch it is not clear to me who is supposed to implement
write_hwaddr() - it should be made clear that this should be be done only when absolutely necessary, and then best in board specific code,
The patch should add such a description to the documentation.
Also, we should remove / adapt existing code that performs basicly the same action.
Thanks.
Best regards,
Wolfgang Denk