summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Warren <biggerbadderben@gmail.com>2008-08-31 10:44:19 -0700
committerBen Warren <biggerbadderben@gmail.com>2008-09-02 21:18:18 -0700
commitad3381cf4167120db5c7b88e4970245e1d5c0a32 (patch)
tree93a19cb4ee835e33553e591c9c55c11cb3763548
parent4fce2aceaf8afd31a252bc782c9dbc497bf40487 (diff)
Moved initialization of E1000 Ethernet controller to board_eth_init()
Affected boards: ap1000 mvbc_p PM854 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r--board/amirix/ap1000/ap1000.c7
-rw-r--r--board/matrix_vision/mvbc_p/mvbc_p.c3
-rw-r--r--board/pm854/pm854.c6
-rw-r--r--drivers/net/e1000.c2
-rw-r--r--drivers/net/e1000.h1
-rw-r--r--include/netdev.h4
-rw-r--r--net/eth.c4
7 files changed, 21 insertions, 6 deletions
diff --git a/board/amirix/ap1000/ap1000.c b/board/amirix/ap1000/ap1000.c
index 55277e72d..8f30ed966 100644
--- a/board/amirix/ap1000/ap1000.c
+++ b/board/amirix/ap1000/ap1000.c
@@ -23,6 +23,7 @@
#include <common.h>
#include <command.h>
+#include <netdev.h>
#include <asm/processor.h>
#include "powerspan.h"
@@ -697,3 +698,9 @@ U_BOOT_CMD (swrecon, 1, 0, do_swreconfig,
"swrecon - trigger a board reconfigure to the software selected configuration\n",
"\n"
" - trigger a board reconfigure to the software selected configuration\n");
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
+
diff --git a/board/matrix_vision/mvbc_p/mvbc_p.c b/board/matrix_vision/mvbc_p/mvbc_p.c
index 648b45e43..c88c4a604 100644
--- a/board/matrix_vision/mvbc_p/mvbc_p.c
+++ b/board/matrix_vision/mvbc_p/mvbc_p.c
@@ -328,5 +328,6 @@ void ft_board_setup(void *blob, bd_t *bd)
int board_eth_init(bd_t *bis)
{
- return cpu_eth_init(bis); /* Built in FEC comes first */
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
}
diff --git a/board/pm854/pm854.c b/board/pm854/pm854.c
index 7dbafb9a8..f36681461 100644
--- a/board/pm854/pm854.c
+++ b/board/pm854/pm854.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <pci.h>
+#include <netdev.h>
#include <asm/processor.h>
#include <asm/mmu.h>
#include <asm/immap_85xx.h>
@@ -289,3 +290,8 @@ pci_init_board(void)
pci_mpc85xx_init(&hose);
#endif /* CONFIG_PCI */
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index c8b4e98c6..2dcaa2c91 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -3059,5 +3059,5 @@ e1000_initialize(bd_t * bis)
card_number++;
}
- return 1;
+ return card_number;
}
diff --git a/drivers/net/e1000.h b/drivers/net/e1000.h
index c258bc238..08042a8cc 100644
--- a/drivers/net/e1000.h
+++ b/drivers/net/e1000.h
@@ -36,6 +36,7 @@
#include <common.h>
#include <malloc.h>
#include <net.h>
+#include <netdev.h>
#include <asm/io.h>
#include <pci.h>
diff --git a/include/netdev.h b/include/netdev.h
index 1013a803a..fa4d92d75 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -42,6 +42,7 @@ int cpu_eth_init(bd_t *bis);
/* Driver initialization prototypes */
int bfin_EMAC_initialize(bd_t *bis);
+int e1000_initialize(bd_t *bis);
int eth_3com_initialize (bd_t * bis);
int greth_initialize(bd_t *bis);
void gt6426x_eth_initialize(bd_t *bis);
@@ -69,6 +70,9 @@ static inline int pci_eth_init(bd_t *bis)
{
int num = 0;
+#ifdef CONFIG_E1000
+ num += e1000_initialize(bis);
+#endif
#ifdef CONFIG_PCNET
num += pcnet_initialize(bis);
#endif
diff --git a/net/eth.c b/net/eth.c
index 42c370b7d..f9a99576a 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 au1x00_enet_initialize(bd_t*);
extern int dc21x4x_initialize(bd_t*);
-extern int e1000_initialize(bd_t*);
extern int eepro100_initialize(bd_t*);
extern int fec_initialize(bd_t*);
extern int mpc8220_fec_initialize(bd_t*);
@@ -193,9 +192,6 @@ int eth_initialize(bd_t *bis)
#if defined(CONFIG_IXP4XX_NPE)
npe_initialize(bis);
#endif
-#ifdef CONFIG_E1000
- e1000_initialize(bis);
-#endif
#ifdef CONFIG_EEPRO100
eepro100_initialize(bis);
#endif