X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=net%2Feth.c;h=8e83b66c0a619bf316d6607a1f3ac833ef4e0fb2;hb=d3c23a790fb24f9cb5cc467b81b0c3ad3eeb1f96;hp=21d14961cb20e04b95ccb739184ae39a43db41fd;hpb=1859e42fbf996e0e883cdb9829ef6d260bf4cdd6;p=platform%2Fkernel%2Fu-boot.git diff --git a/net/eth.c b/net/eth.c index 21d1496..8e83b66 100644 --- a/net/eth.c +++ b/net/eth.c @@ -28,6 +28,17 @@ #if defined(CONFIG_CMD_NET) && defined(CONFIG_NET_MULTI) +/* + * CPU and board-specific Ethernet initializations. Aliased function + * signals caller to move on + */ +static int __def_eth_init(bd_t *bis) +{ + return -1; +} +int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init"))); +int board_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init"))); + #ifdef CFG_GT_6426x extern int gt6426x_eth_initialize(bd_t *bis); #endif @@ -55,13 +66,10 @@ extern int scc_initialize(bd_t*); extern int skge_initialize(bd_t*); extern int tsi108_eth_initialize(bd_t*); extern int uli526x_initialize(bd_t *); -extern int tsec_initialize(bd_t*, int, char *); extern int npe_initialize(bd_t *); extern int uec_initialize(int); extern int bfin_EMAC_initialize(bd_t *); -extern int atstk1000_eth_initialize(bd_t *); extern int greth_initialize(bd_t *); -extern int atngw100_eth_initialize(bd_t *); extern int mcffec_initialize(bd_t*); extern int mcdmafec_initialize(bd_t*); extern int at91sam9_eth_initialize(bd_t *); @@ -165,6 +173,10 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) miiphy_init(); #endif + /* Try board-specific initialization first. If it fails or isn't + * present, try the cpu-specific initialization */ + if (board_eth_init(bis) < 0) + cpu_eth_init(bis); #if defined(CONFIG_DB64360) || defined(CONFIG_CPCI750) mv6436x_eth_initialize(bis); @@ -196,22 +208,6 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_SK98) skge_initialize(bis); #endif -#if defined(CONFIG_TSEC1) - tsec_initialize(bis, 0, CONFIG_TSEC1_NAME); -#endif -#if defined(CONFIG_TSEC2) - tsec_initialize(bis, 1, CONFIG_TSEC2_NAME); -#endif -#if defined(CONFIG_MPC85XX_FEC) - tsec_initialize(bis, 2, CONFIG_MPC85XX_FEC_NAME); -#else -# if defined(CONFIG_TSEC3) - tsec_initialize(bis, 2, CONFIG_TSEC3_NAME); -# endif -# if defined(CONFIG_TSEC4) - tsec_initialize(bis, 3, CONFIG_TSEC4_NAME); -# endif -#endif #if defined(CONFIG_UEC_ETH1) uec_initialize(0); #endif @@ -273,15 +269,9 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_BF537) bfin_EMAC_initialize(bis); #endif -#if defined(CONFIG_ATSTK1000) - atstk1000_eth_initialize(bis); -#endif #if defined(CONFIG_GRETH) greth_initialize(bis); #endif -#if defined(CONFIG_ATNGW100) - atngw100_eth_initialize(bis); -#endif #if defined(CONFIG_MCFFEC) mcffec_initialize(bis); #endif @@ -629,7 +619,7 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_MCF52x2) mcf52x2_miiphy_initialize(bis); #endif -#if defined(CONFIG_NETARM) +#if defined(CONFIG_DRIVER_NS7520_ETHERNET) ns7520_miiphy_initialize(bis); #endif #if defined(CONFIG_DRIVER_TI_EMAC)