
5 Oct
2009
5 Oct
'09
10:18 p.m.
Luigi Mantellini wrote:
The lib_[arch]/board.c code calls the bb_miiphy_init that will do just 2 things:
- Relocate the bb_mii_buses[i].* hooks (.init, .mdio_active, .delay, ...)
- Call the board bb_mii_buses[i].init (board specific code).
The board specifc code will be contained into the hook .init filed into the bb_mii_buses vector.
Do you have a better solution?
In each case, you put the bb_miiphy_init() right before eth_initialize(). One of the first things eth_initialize() does is call board_eth_init(). Moving the call to each board's specific code would therefore not make any difference code-wise, but IMHO is architecturally cleaner. If #ifdef's are necessary (in this case they are), I believe it's better to have them in the more specific code (board) than generic (arch).
regards, Ben