From 10efa024b8ffd9e6aaca63da8bddfdffdc672274 Mon Sep 17 00:00:00 2001 From: Ben Warren Date: Sun, 31 Aug 2008 20:37:00 -0700 Subject: [PATCH] Moved initialization of EEPRO100 Ethernet controller to board_eth_init() Affected boards: db64360 db64460 katmai taihu taishan yucca cpc45 cpu87 eXalion elppc debris kvme080 mpc8315erdb integratorap ixdp425 oxc pm826 pm828 pm854 pm856 ppmc7xx sc3 sc520_spunk sorcery tqm8272 tqm85xx utx8245 Removed initialization of the driver from net/eth.c Also, wrapped contents of pci_eth_init() by CONFIG_PCI. Signed-off-by: Ben Warren --- board/Marvell/db64360/db64360.c | 6 ++++++ board/Marvell/db64460/db64460.c | 6 ++++++ board/amcc/katmai/katmai.c | 6 ++++++ board/amcc/taihu/taihu.c | 6 ++++++ board/amcc/taishan/taishan.c | 6 ++++++ board/amcc/yucca/yucca.c | 6 ++++++ board/cpc45/cpc45.c | 6 ++++++ board/cpu87/cpu87.c | 6 ++++++ board/eXalion/eXalion.c | 6 ++++++ board/eltec/elppc/elppc.c | 6 ++++++ board/etin/debris/debris.c | 6 ++++++ board/etin/kvme080/kvme080.c | 6 ++++++ board/freescale/mpc8315erdb/mpc8315erdb.c | 7 +++++++ board/integratorap/integratorap.c | 7 +++++++ board/ixdp425/ixdp425.c | 6 ++++++ board/oxc/oxc.c | 6 ++++++ board/pm826/pm826.c | 6 ++++++ board/pm828/pm828.c | 6 ++++++ board/pm854/pm854.c | 1 + board/pm856/pm856.c | 7 +++++++ board/ppmc7xx/ppmc7xx.c | 6 ++++++ board/sc3/sc3.c | 6 ++++++ board/sc520_spunk/sc520_spunk.c | 6 ++++++ board/sorcery/sorcery.c | 6 ++++++ board/tqc/tqm8272/tqm8272.c | 6 ++++++ board/tqc/tqm85xx/tqm85xx.c | 7 +++++++ board/utx8245/utx8245.c | 6 ++++++ drivers/net/eepro100.c | 1 + include/netdev.h | 8 ++++++++ net/eth.c | 4 ---- 30 files changed, 170 insertions(+), 4 deletions(-) diff --git a/board/Marvell/db64360/db64360.c b/board/Marvell/db64360/db64360.c index 2a810a618b..c03d03d387 100644 --- a/board/Marvell/db64360/db64360.c +++ b/board/Marvell/db64360/db64360.c @@ -33,6 +33,7 @@ #include "../include/pci.h" #include "../include/mv_gen_reg.h" #include +#include #include "eth.h" #include "mpsc.h" @@ -929,3 +930,8 @@ void board_prebootm_init () icache_disable (); dcache_disable (); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/Marvell/db64460/db64460.c b/board/Marvell/db64460/db64460.c index 1ae898d1ee..8a05cd2098 100644 --- a/board/Marvell/db64460/db64460.c +++ b/board/Marvell/db64460/db64460.c @@ -33,6 +33,7 @@ #include "../include/pci.h" #include "../include/mv_gen_reg.h" #include +#include #include "eth.h" #include "mpsc.h" @@ -929,3 +930,8 @@ void board_prebootm_init () icache_disable (); dcache_disable (); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/amcc/katmai/katmai.c b/board/amcc/katmai/katmai.c index 08d89d7791..172b5811e3 100644 --- a/board/amcc/katmai/katmai.c +++ b/board/amcc/katmai/katmai.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -447,3 +448,8 @@ int post_hotkeys_pressed(void) return (ctrlc()); } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/amcc/taihu/taihu.c b/board/amcc/taihu/taihu.c index 254e3eb837..266f2601c5 100644 --- a/board/amcc/taihu/taihu.c +++ b/board/amcc/taihu/taihu.c @@ -28,6 +28,7 @@ #include #include #include +#include #include extern int lcd_init(void); @@ -200,3 +201,8 @@ int pci_pre_init(struct pci_controller *hose) return 1; } #endif /* CONFIG_PCI */ + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/amcc/taishan/taishan.c b/board/amcc/taishan/taishan.c index fdd82e7cca..cd432cb98b 100644 --- a/board/amcc/taishan/taishan.c +++ b/board/amcc/taishan/taishan.c @@ -27,6 +27,7 @@ #include #include #include +#include #ifdef CFG_INIT_SHOW_RESET_REG void show_reset_reg(void); @@ -311,3 +312,8 @@ int post_hotkeys_pressed(void) return (ctrlc()); } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/amcc/yucca/yucca.c b/board/amcc/yucca/yucca.c index 84c3938d7d..e0c12687d3 100644 --- a/board/amcc/yucca/yucca.c +++ b/board/amcc/yucca/yucca.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -952,3 +953,8 @@ int onboard_pci_arbiter_selected(int core_pci) #endif return (BOARD_OPTION_NOT_SELECTED); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/cpc45/cpc45.c b/board/cpc45/cpc45.c index f4e867ce7d..16ead75def 100644 --- a/board/cpc45/cpc45.c +++ b/board/cpc45/cpc45.c @@ -27,6 +27,7 @@ #include #include #include +#include int sysControlDisplay(int digit, uchar ascii_code); extern void Plx9030Init(void); @@ -273,3 +274,8 @@ void ide_led (uchar led, uchar status) writeb(val, BCSR_BASE + 0x04); } # endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/cpu87/cpu87.c b/board/cpu87/cpu87.c index f5a5de5d82..454987cff2 100644 --- a/board/cpu87/cpu87.c +++ b/board/cpu87/cpu87.c @@ -26,6 +26,7 @@ #include #include "cpu87.h" #include +#include /* * I/O Port configuration table @@ -339,3 +340,8 @@ void pci_init_board(void) pci_mpc8250_init(&hose); } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/eXalion/eXalion.c b/board/eXalion/eXalion.c index 385b498d09..c5dff24f05 100644 --- a/board/eXalion/eXalion.c +++ b/board/eXalion/eXalion.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "piix_pci.h" #include "eXalion.h" @@ -290,3 +291,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/eltec/elppc/elppc.c b/board/eltec/elppc/elppc.c index 1b70605e28..d3ac2784ac 100644 --- a/board/eltec/elppc/elppc.c +++ b/board/eltec/elppc/elppc.c @@ -25,6 +25,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -172,3 +173,8 @@ void video_get_info_str (int line_number, char *info) return; } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/etin/debris/debris.c b/board/etin/debris/debris.c index 763760fd23..3fcf78ecfd 100644 --- a/board/etin/debris/debris.c +++ b/board/etin/debris/debris.c @@ -25,6 +25,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -177,3 +178,8 @@ int misc_init_r(void) (char*)&gd->bd->bi_enetaddr[0], 6); return 0; } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/etin/kvme080/kvme080.c b/board/etin/kvme080/kvme080.c index bfd6854c5d..be6924d15a 100644 --- a/board/etin/kvme080/kvme080.c +++ b/board/etin/kvme080/kvme080.c @@ -25,6 +25,7 @@ #include #include #include +#include #include int checkboard(void) @@ -191,3 +192,8 @@ void nvram_write(long dest, const void *src, size_t count) asm volatile("sync"); } } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/freescale/mpc8315erdb/mpc8315erdb.c b/board/freescale/mpc8315erdb/mpc8315erdb.c index 3eecee2519..0330218769 100644 --- a/board/freescale/mpc8315erdb/mpc8315erdb.c +++ b/board/freescale/mpc8315erdb/mpc8315erdb.c @@ -29,6 +29,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -165,3 +166,9 @@ void ft_board_setup(void *blob, bd_t *bd) fdt_tsec1_fixup(blob, bd); } #endif + +int board_eth_init(bd_t *bis) +{ + cpu_eth_init(bis); /* Initialize TSECs first */ + return pci_eth_init(bis); +} diff --git a/board/integratorap/integratorap.c b/board/integratorap/integratorap.c index e659907567..687c486c82 100644 --- a/board/integratorap/integratorap.c +++ b/board/integratorap/integratorap.c @@ -39,6 +39,8 @@ #include #endif +#include + DECLARE_GLOBAL_DATA_PTR; void flash__init (void); @@ -647,3 +649,8 @@ ulong get_tbclk (void) { return CFG_HZ_CLOCK/div_clock; } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/ixdp425/ixdp425.c b/board/ixdp425/ixdp425.c index e0d763780e..b379c7535f 100644 --- a/board/ixdp425/ixdp425.c +++ b/board/ixdp425/ixdp425.c @@ -31,6 +31,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; @@ -118,3 +119,8 @@ void pci_init_board(void) pci_ixp_init(&hose); } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/oxc/oxc.c b/board/oxc/oxc.c index b61d399512..eb7eeb8c28 100644 --- a/board/oxc/oxc.c +++ b/board/oxc/oxc.c @@ -25,6 +25,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -215,3 +216,8 @@ int misc_init_r (void) #endif return (0); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/pm826/pm826.c b/board/pm826/pm826.c index 7ee3ab65c0..d8b0929cf4 100644 --- a/board/pm826/pm826.c +++ b/board/pm826/pm826.c @@ -25,6 +25,7 @@ #include #include #include +#include /* * I/O Port configuration table @@ -328,3 +329,8 @@ void pci_init_board(void) pci_mpc8250_init(&hose); } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/pm828/pm828.c b/board/pm828/pm828.c index 6038e9758d..b163d5b35d 100644 --- a/board/pm828/pm828.c +++ b/board/pm828/pm828.c @@ -25,6 +25,7 @@ #include #include #include +#include /* * I/O Port configuration table @@ -361,3 +362,8 @@ void pci_init_board(void) pci_mpc8250_init(&hose); } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/pm854/pm854.c b/board/pm854/pm854.c index f366814618..90523bda53 100644 --- a/board/pm854/pm854.c +++ b/board/pm854/pm854.c @@ -293,5 +293,6 @@ pci_init_board(void) int board_eth_init(bd_t *bis) { + cpu_eth_init(bis); /* Intialize TSECs first */ return pci_eth_init(bis); } diff --git a/board/pm856/pm856.c b/board/pm856/pm856.c index bd4c0651ae..ee33286aca 100644 --- a/board/pm856/pm856.c +++ b/board/pm856/pm856.c @@ -34,6 +34,7 @@ #include #include #include +#include #if defined(CONFIG_DDR_ECC) extern void ddr_enable_ecc(unsigned int dram_size); @@ -444,3 +445,9 @@ pci_init_board(void) pci_mpc85xx_init(&hose); #endif /* CONFIG_PCI */ } + +int board_eth_init(bd_t *bis) +{ + cpu_eth_init(bis); /* Intialize TSECs first */ + return pci_eth_init(bis); +} diff --git a/board/ppmc7xx/ppmc7xx.c b/board/ppmc7xx/ppmc7xx.c index 061e01ec4f..9c87c1078c 100644 --- a/board/ppmc7xx/ppmc7xx.c +++ b/board/ppmc7xx/ppmc7xx.c @@ -10,6 +10,7 @@ #include #include +#include /* Define some MPC107 (memory controller) registers */ @@ -102,3 +103,8 @@ void do_reset( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] ) /* Should never get here */ while(1); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/sc3/sc3.c b/board/sc3/sc3.c index 3d1a6542dc..6c82fe7e99 100644 --- a/board/sc3/sc3.c +++ b/board/sc3/sc3.c @@ -37,6 +37,7 @@ #include #include #include +#include #undef writel #undef writeb @@ -779,3 +780,8 @@ void pci_init_board(void) hose.config_table = pci_solidcard3_config_table; pci_405gp_init(&hose); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/sc520_spunk/sc520_spunk.c b/board/sc520_spunk/sc520_spunk.c index 038d479953..0b11caaae2 100644 --- a/board/sc520_spunk/sc520_spunk.c +++ b/board/sc520_spunk/sc520_spunk.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -676,3 +677,8 @@ ssize_t spi_write(uchar *addr, int alen, uchar *buffer, int len) spi_eeprom_write(1, offset, buffer, len) : mw_eeprom_write(1, offset, buffer, len); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/sorcery/sorcery.c b/board/sorcery/sorcery.c index 2b789d4741..e4fb1465fa 100644 --- a/board/sorcery/sorcery.c +++ b/board/sorcery/sorcery.c @@ -26,6 +26,7 @@ #include #include #include +#include phys_size_t initdram (int board_type) { @@ -58,3 +59,8 @@ void pci_init_board (void) pci_mpc8220_init (&hose); #endif /* CONFIG_PCI */ } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/tqc/tqm8272/tqm8272.c b/board/tqc/tqm8272/tqm8272.c index a0ec254ced..3a2376c3f9 100644 --- a/board/tqc/tqm8272/tqm8272.c +++ b/board/tqc/tqm8272/tqm8272.c @@ -26,6 +26,7 @@ #include #include +#include #ifdef CONFIG_PCI #include #include @@ -1226,3 +1227,8 @@ void pci_init_board(void) pci_mpc8250_init(&hose); } #endif + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/board/tqc/tqm85xx/tqm85xx.c b/board/tqc/tqm85xx/tqm85xx.c index ae3c2456fb..0e5bc2f730 100644 --- a/board/tqc/tqm85xx/tqm85xx.c +++ b/board/tqc/tqm85xx/tqm85xx.c @@ -42,6 +42,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -743,3 +744,9 @@ int board_early_init_r (void) return (0); } #endif /* CONFIG_BOARD_EARLY_INIT_R */ + +int board_eth_init(bd_t *bis) +{ + cpu_eth_init(bis); /* Intialize TSECs first */ + return pci_eth_init(bis); +} diff --git a/board/utx8245/utx8245.c b/board/utx8245/utx8245.c index e2a961a3a3..e7ca669c14 100644 --- a/board/utx8245/utx8245.c +++ b/board/utx8245/utx8245.c @@ -32,6 +32,7 @@ #include #include #include +#include #define SAVE_SZ 32 @@ -127,3 +128,8 @@ void pci_init_board (void) icache_enable(); } + +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c index 9de0fb5e46..d6539c01aa 100644 --- a/drivers/net/eepro100.c +++ b/drivers/net/eepro100.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/include/netdev.h b/include/netdev.h index d8d1209dff..8b181f77e1 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -44,6 +44,7 @@ int cpu_eth_init(bd_t *bis); int bfin_EMAC_initialize(bd_t *bis); int dc21x4x_initialize(bd_t *bis); int e1000_initialize(bd_t *bis); +int eepro100_initialize(bd_t *bis); int eth_3com_initialize (bd_t * bis); int greth_initialize(bd_t *bis); void gt6426x_eth_initialize(bd_t *bis); @@ -71,6 +72,11 @@ static inline int pci_eth_init(bd_t *bis) { int num = 0; +#ifdef CONFIG_PCI + +#ifdef CONFIG_EEPRO100 + num += eepro100_initialize(bis); +#endif #ifdef CONFIG_TULIP num += dc21x4x_initialize(bis); #endif @@ -95,6 +101,8 @@ static inline int pci_eth_init(bd_t *bis) #if defined(CONFIG_ULI526) num += uli526x_initialize(bis); #endif + +#endif /* CONFIG_PCI */ return num; } diff --git a/net/eth.c b/net/eth.c index ab37bc233a..432dd60bdc 100644 --- a/net/eth.c +++ b/net/eth.c @@ -40,7 +40,6 @@ 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"))); extern int au1x00_enet_initialize(bd_t*); -extern int eepro100_initialize(bd_t*); extern int fec_initialize(bd_t*); extern int mpc8220_fec_initialize(bd_t*); extern int mv6436x_eth_initialize(bd_t *); @@ -190,9 +189,6 @@ int eth_initialize(bd_t *bis) #endif #if defined(CONFIG_IXP4XX_NPE) npe_initialize(bis); -#endif -#ifdef CONFIG_EEPRO100 - eepro100_initialize(bis); #endif if (!eth_devices) { puts ("No ethernet found.\n");