diff --git a/cpu/ppc4xx/cpu.c b/cpu/ppc4xx/cpu.c index a676b30efe..1f0b56cb76 100644 --- a/cpu/ppc4xx/cpu.c +++ b/cpu/ppc4xx/cpu.c @@ -36,6 +36,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -693,3 +694,16 @@ void reset_4xx_watchdog(void) mtspr(tsr, 0x40000000); } #endif /* CONFIG_WATCHDOG */ + +/* + * Initializes on-chip ethernet controllers. + * to override, implement board_eth_init() + */ +int cpu_eth_init(bd_t *bis) +{ +#if defined(CONFIG_PPC4xx_EMAC) + ppc_4xx_eth_initialize(bis); +#endif + return 0; +} + diff --git a/include/netdev.h b/include/netdev.h index 45e59b6f62..751f0dab55 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -62,6 +62,7 @@ int npe_initialize(bd_t *bis); int ns8382x_initialize(bd_t *bis); int pcnet_initialize(bd_t *bis); int plb2800_eth_initialize(bd_t *bis); +int ppc_4xx_eth_initialize (bd_t *bis); int rtl8139_initialize(bd_t *bis); int rtl8169_initialize(bd_t *bis); int scc_initialize(bd_t *bis); diff --git a/net/eth.c b/net/eth.c index eab51045a4..b7ef09f447 100644 --- a/net/eth.c +++ b/net/eth.c @@ -41,7 +41,6 @@ int board_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init"))); extern int mv6436x_eth_initialize(bd_t *); extern int mv6446x_eth_initialize(bd_t *); -extern int ppc_4xx_eth_initialize(bd_t *); #ifdef CONFIG_API extern void (*push_packet)(volatile void *, int); @@ -152,9 +151,6 @@ int eth_initialize(bd_t *bis) #endif #if defined(CONFIG_DB64460) || defined(CONFIG_P3Mx) mv6446x_eth_initialize(bis); -#endif -#if defined(CONFIG_PPC4xx_EMAC) - ppc_4xx_eth_initialize(bis); #endif if (!eth_devices) { puts ("No ethernet found.\n");