From 0b252f50ae218ae15bfb63af44227972686ebc56 Mon Sep 17 00:00:00 2001 From: Ben Warren Date: Sun, 31 Aug 2008 21:41:08 -0700 Subject: [PATCH] Moved initialization of RTL8139 Ethernet controller to board_eth_init() Affected boards: hidden_dragon MPC8544DS MPC8610HPCN R2DPLUS TB0229 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren --- board/freescale/mpc8544ds/mpc8544ds.c | 8 ++++---- board/freescale/mpc8641hpcn/mpc8641hpcn.c | 8 ++++++++ board/hidden_dragon/hidden_dragon.c | 6 ++++++ board/r2dplus/r2dplus.c | 5 +++++ board/tb0229/tb0229.c | 5 +++++ drivers/net/rtl8139.c | 1 + include/netdev.h | 4 ++++ net/eth.c | 4 ---- 8 files changed, 33 insertions(+), 8 deletions(-) diff --git a/board/freescale/mpc8544ds/mpc8544ds.c b/board/freescale/mpc8544ds/mpc8544ds.c index 1e29773cbe..eaf6fa3200 100644 --- a/board/freescale/mpc8544ds/mpc8544ds.c +++ b/board/freescale/mpc8544ds/mpc8544ds.c @@ -33,6 +33,7 @@ #include #include #include +#include #include "../common/pixis.h" #include "../common/sgmii_riser.h" @@ -465,9 +466,9 @@ get_board_sys_clk(ulong dummy) return val; } -#ifdef CONFIG_TSEC_ENET int board_eth_init(bd_t *bis) { +#ifdef CONFIG_TSEC_ENET struct tsec_info_struct tsec_info[2]; volatile ccsr_gur_t *gur = (void *)(CFG_MPC85xx_GUTS_ADDR); uint io_sel = (gur->pordevsr & MPC85xx_PORDEVSR_IO_SEL) >> 19; @@ -497,10 +498,9 @@ int board_eth_init(bd_t *bis) tsec_eth_init(bis, tsec_info, num); - - return 0; -} #endif + return pci_eth_init(bis); +} #if defined(CONFIG_OF_BOARD_SETUP) diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c index 1bb563e41d..97f7f49e49 100644 --- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c +++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "../common/pixis.h" @@ -379,3 +380,10 @@ get_board_sys_clk(ulong dummy) return val; } + +int board_eth_init(bd_t *bis) +{ + /* Initialize TSECs */ + cpu_eth_init(bis); + return pci_eth_init(bis); +} diff --git a/board/hidden_dragon/hidden_dragon.c b/board/hidden_dragon/hidden_dragon.c index 5713a3384f..2d7a7870e5 100644 --- a/board/hidden_dragon/hidden_dragon.c +++ b/board/hidden_dragon/hidden_dragon.c @@ -27,6 +27,7 @@ #include #include #include +#include int checkboard (void) { @@ -93,3 +94,8 @@ void pci_init_board(void) { pci_mpc824x_init(&hose); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/r2dplus/r2dplus.c b/board/r2dplus/r2dplus.c index 8fb8ff667a..b962dd1fe7 100644 --- a/board/r2dplus/r2dplus.c +++ b/board/r2dplus/r2dplus.c @@ -76,3 +76,8 @@ void pci_init_board(void) { pci_sh7751_init(&hose); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/tb0229/tb0229.c b/board/tb0229/tb0229.c index 921bd3adcd..2abb4a7e2d 100644 --- a/board/tb0229/tb0229.c +++ b/board/tb0229/tb0229.c @@ -46,3 +46,8 @@ int checkboard (void) return 0; } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/drivers/net/rtl8139.c b/drivers/net/rtl8139.c index 4fd20ac4fe..d378ce39b4 100644 --- a/drivers/net/rtl8139.c +++ b/drivers/net/rtl8139.c @@ -74,6 +74,7 @@ #include #include #include +#include #include #include diff --git a/include/netdev.h b/include/netdev.h index 954de39185..b333755ba0 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -46,6 +46,7 @@ int greth_initialize(bd_t *bis); int macb_eth_initialize(int id, void *regs, unsigned int phy_addr); int mcdmafec_initialize(bd_t *bis); int mcffec_initialize(bd_t *bis); +int rtl8139_initialize(bd_t *bis); int rtl8169_initialize(bd_t *bis); int skge_initialize(bd_t *bis); int uli526x_initialize(bd_t *bis); @@ -57,6 +58,9 @@ int uli526x_initialize(bd_t *bis); static inline int pci_eth_init(bd_t *bis) { int num = 0; +#if defined(CONFIG_RTL8139) + num += rtl8139_initialize(bis); +#endif #if defined(CONFIG_RTL8169) num += rtl8169_initialize(bis); #endif diff --git a/net/eth.c b/net/eth.c index 69f66b49fa..092d42681e 100644 --- a/net/eth.c +++ b/net/eth.c @@ -60,7 +60,6 @@ extern int ns8382x_initialize(bd_t*); extern int pcnet_initialize(bd_t*); extern int plb2800_eth_initialize(bd_t*); extern int ppc_4xx_eth_initialize(bd_t *); -extern int rtl8139_initialize(bd_t*); extern int scc_initialize(bd_t*); extern int tsi108_eth_initialize(bd_t*); extern int npe_initialize(bd_t *); @@ -245,9 +244,6 @@ int eth_initialize(bd_t *bis) #endif #if defined(CONFIG_TSI108_ETH) tsi108_eth_initialize(bis); -#endif -#if defined(CONFIG_RTL8139) - rtl8139_initialize(bis); #endif if (!eth_devices) { puts ("No ethernet found.\n");