
On Thursday 29 January 2009 14:03:36 Wolfgang Denk wrote:
In message 200901291135.32632.vapier@gentoo.org you wrote:
the driver isnt really generic. it's specific to the hardware that exists inside of Blackfin chips. the hardware has no support at all for storing the
Well, the same applies for many other Ethernet drivers as well, be it the FEC ethernet driver for the MPC8xx, the FCC for the MPC82xx or the TSEC for the 8xxx, etc.
what you propose wouldnt have been possible before, but with Ben's work it should be easy to move to board_eth_init().
So lat's do this, then, please.
so how exactly are $ethaddr in the env and bi_enetaddr in the global data supposed to interact ? this is a mess in the current tree and i dont see any notes that indicate how things are supposed to be handled. and i'd like to make these changes once and get it right the first time ;).
i see it as: - common net code calls board_eth_init() - board_eth_init() sets up ethaddr in env if it isnt set already - board_eth_init() calls the driver init (bfin_EMAC_initialize() in my case) - driver init looks up ethaddr in env and sets bi_enetaddr in global data - all other code uses bi_enetaddr to get the MAC address -mike