Moved initialization of TULIP Ethernet controller to board_eth_init()
authorBen Warren <biggerbadderben@gmail.com>
Sun, 31 Aug 2008 17:45:44 +0000 (10:45 -0700)
committerBen Warren <biggerbadderben@gmail.com>
Wed, 3 Sep 2008 04:18:18 +0000 (21:18 -0700)
Affected boards:
cu824
bab7xx
adciop
dasa_sim
mousse
mpc8540eval
musenki
mvblue
pcippc2/pcippc6
sbc8240
stxssa

Removed initialization of the driver from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 files changed:
board/cu824/cu824.c
board/eltec/bab7xx/bab7xx.c
board/esd/adciop/adciop.c
board/esd/dasa_sim/dasa_sim.c
board/mousse/mousse.c
board/mpc8540eval/mpc8540eval.c
board/musenki/musenki.c
board/mvblue/mvblue.c
board/pcippc2/pcippc2.c
board/sbc8240/sbc8240.c
board/stxssa/stxssa.c
drivers/net/dc2114x.c
include/netdev.h
net/eth.c

index ecf6328945bb29a2f2a968d46547bf5dbd4c4287..0fd4223e902df01ff69d683614e47e494f5726c8 100644 (file)
@@ -28,6 +28,7 @@
 #include <mpc824x.h>
 #include <asm/processor.h>
 #include <pci.h>
+#include <netdev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -91,3 +92,8 @@ void pci_init_board(void)
 {
        pci_mpc824x_init(&hose);
 }
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index af52352374cd80d8f124eca0242a6e2cb6f1b1e1..8c561161c579c1703a70dedcc5f5a653a75a2a60 100644 (file)
@@ -30,6 +30,7 @@
 #include <74xx_7xx.h>
 #include <ns87308.h>
 #include <video_fb.h>
+#include <netdev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -244,3 +245,8 @@ void video_get_info_str (int line_number, char *info)
 #endif
 
 /*---------------------------------------------------------------------------*/
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index 0f655b78a5f0e79d99df92f216d842855df67e02..63aaf2c7a9c3c1df1e4e0d0d488c2c603fe58873 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include "adciop.h"
 
 /* ------------------------------------------------------------------------- */
@@ -95,3 +96,8 @@ int testdram (void)
 }
 
 /* ------------------------------------------------------------------------- */
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index fb0c77e56649d40cad288687aa25dc8d55da098b..e061878b626cbefbfe442fb89c2b5421c68494d2 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include "dasa_sim.h"
 
 /* ------------------------------------------------------------------------- */
@@ -222,3 +223,8 @@ int testdram (void)
 }
 
 /* ------------------------------------------------------------------------- */
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index f8f152976c2900011d2c20d3bdb41c3fdfe14720..7b61266483de0a446ea1438fac75227608b9ecf7 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <common.h>
 #include <mpc824x.h>
+#include <netdev.h>
 #include <asm/processor.h>
 
 #include "mousse.h"
@@ -84,3 +85,8 @@ int misc_init_f (void)
        get_tod ();
        return 0;
 }
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index 7c54458a57e676f3531b48221f573254bb99559f..028a70fad84fd96fdd8cdbb6b3bec488012dc73a 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/immap_85xx.h>
@@ -247,3 +248,14 @@ long int fixed_sdram (void)
        return (CFG_SDRAM_SIZE * 1024 * 1024);
 }
 #endif /* !defined(CONFIG_SPD_EEPROM) */
+
+int board_eth_init(bd_t *bis)
+{
+       /*
+        * This board either has PCI NICs or uses the CPU's TSECs
+        * pci_eth_init() will return 0 if no NICs found, so in that case
+        * returning -1 will force cpu_eth_init() to be called.
+        */
+       int num = pci_eth_init(bis);
+       return (num <= 0 ? -1 : num);
+}
index b2b70e756d4d11aa232c32431fafd2b8af3c2b5c..6f9eeb22f896b3ffc01c986ce0b7d9a89d2736eb 100644 (file)
@@ -24,6 +24,7 @@
 #include <common.h>
 #include <mpc824x.h>
 #include <pci.h>
+#include <netdev.h>
 
 int checkboard (void)
 {
@@ -102,3 +103,8 @@ void pci_init_board(void)
 {
        pci_mpc824x_init(&hose);
 }
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index a979102ab5a5b40895454fabc83a5fd6906b4935..056fee78484c68fc482dbda7d723c3192cfdaa4a 100644 (file)
@@ -9,6 +9,7 @@
 #include <mpc824x.h>
 #include <asm/io.h>
 #include <ns16550.h>
+#include <netdev.h>
 
 #ifdef CONFIG_PCI
 #include <pci.h>
@@ -245,4 +246,9 @@ void pci_init_board (void)
 {
        pci_mpc824x_init (&hose);
 }
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
 #endif
index c1917c11b44abc206a0b5794eb4e4b2d5a6656ff..a3dbdc846e037e34202a18b8fce53bdca90b5f52 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/mtd/doc2000.h>
 #include <watchdog.h>
 #include <pci.h>
+#include <netdev.h>
 
 #include "hardware.h"
 #include "pcippc2.h"
@@ -243,3 +244,8 @@ U_BOOT_CMD(
 
 #endif
 #endif /* CONFIG_WATCHDOG */
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index 175720d90657bcfa8ed3191cfd500f99346f67b2..075e3777ff438364d70cf027fa7500ac0ccc8bb0 100644 (file)
@@ -28,6 +28,7 @@
 #include <mpc824x.h>
 #include <asm/processor.h>
 #include <pci.h>
+#include <netdev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -103,3 +104,8 @@ int misc_init_r (void)
        return (0);
 }
 #endif /* CONFIG_MISC_INIT_R */
+
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
index 124e1233b1fca402ff61a03d3185c50ad32c8ed4..71e9b088acdc1e6f388d479013791117db51e1b6 100644 (file)
@@ -39,6 +39,7 @@
 #include <asm/io.h>
 #include <spd_sdram.h>
 #include <miiphy.h>
+#include <netdev.h>
 
 long int fixed_sdram (void);
 
@@ -400,3 +401,10 @@ pci_init_board(void)
        pci_mpc85xx_init(hose);
 #endif /* CONFIG_PCI */
 }
+
+int board_eth_init(bd_t *bis)
+{
+       cpu_eth_init(bis);      /* Initialize TSECs first */
+       return pci_eth_init(bis);
+}
+
index 811723904d0f28b640f44585b12b5821dee8549e..c0137a7f2074329cafd5510d1f44186a5ba484b6 100644 (file)
@@ -21,6 +21,7 @@
 #include <common.h>
 #include <malloc.h>
 #include <net.h>
+#include <netdev.h>
 #include <pci.h>
 
 #undef DEBUG_SROM
index fa4d92d755ee4d6fd875c9afcbd4c5d4b1c6808e..d8d1209dffb81d72061bef2e7b0ff6621716b9ee 100644 (file)
@@ -42,6 +42,7 @@ int cpu_eth_init(bd_t *bis);
 
 /* Driver initialization prototypes */
 int bfin_EMAC_initialize(bd_t *bis);
+int dc21x4x_initialize(bd_t *bis);
 int e1000_initialize(bd_t *bis);
 int eth_3com_initialize (bd_t * bis);
 int greth_initialize(bd_t *bis);
@@ -70,6 +71,9 @@ static inline int pci_eth_init(bd_t *bis)
 {
        int num = 0;
 
+#ifdef CONFIG_TULIP
+       num += dc21x4x_initialize(bis);
+#endif
 #ifdef CONFIG_E1000
        num += e1000_initialize(bis);
 #endif
index f9a99576a8196a596e3a666abfbb60b1e539ab29..ab37bc233a084c4999f169a3b3e3fe26ecbaf990 100644 (file)
--- 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 dc21x4x_initialize(bd_t*);
 extern int eepro100_initialize(bd_t*);
 extern int fec_initialize(bd_t*);
 extern int mpc8220_fec_initialize(bd_t*);
@@ -194,9 +193,6 @@ int eth_initialize(bd_t *bis)
 #endif
 #ifdef CONFIG_EEPRO100
        eepro100_initialize(bis);
-#endif
-#ifdef CONFIG_TULIP
-       dc21x4x_initialize(bis);
 #endif
        if (!eth_devices) {
                puts ("No ethernet found.\n");