From b902b8dda5e1fd4d5fe2f202c71ee3521d2c40ed Mon Sep 17 00:00:00 2001
From: Ben Warren <biggerbadderben@gmail.com>
Date: Sun, 31 Aug 2008 10:07:16 -0700
Subject: [PATCH] Moved initialization of NATSEMI Ethernet controller to
 board_eth_init()

Affected boards:
	a3000

Removed initialization of the driver from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
---
 board/a3000/a3000.c   | 7 +++++++
 drivers/net/natsemi.c | 1 +
 include/netdev.h      | 4 ++++
 net/eth.c             | 4 ----
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/board/a3000/a3000.c b/board/a3000/a3000.c
index c1eceaa2f4..040ba89765 100644
--- a/board/a3000/a3000.c
+++ b/board/a3000/a3000.c
@@ -27,6 +27,7 @@
 #include <common.h>
 #include <mpc824x.h>
 #include <pci.h>
+#include <netdev.h>
 
 int checkboard (void)
 {
@@ -109,3 +110,9 @@ void pci_init_board(void)
 {
 	pci_mpc824x_init(&hose);
 }
+
+int board_eth_init(bd_t *bis)
+{
+	return pci_eth_init(bis);
+}
+
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index 4aee0481db..ff8d2d7c0f 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -53,6 +53,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 97eff7a700..c5b0815e04 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 natsemi_initialize(bd_t *bis);
 int ns8382x_initialize(bd_t *bis);
 int rtl8139_initialize(bd_t *bis);
 int rtl8169_initialize(bd_t *bis);
@@ -60,6 +61,9 @@ int uli526x_initialize(bd_t *bis);
 static inline int pci_eth_init(bd_t *bis)
 {
 	int num = 0;
+#ifdef CONFIG_NATSEMI
+	num += natsemi_initialize(bis);
+#endif
 #ifdef CONFIG_NS8382X
 	num += ns8382x_initialize(bis);
 #endif
diff --git a/net/eth.c b/net/eth.c
index b846cad4ff..dc7b288a66 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -55,7 +55,6 @@ extern int mpc512x_fec_initialize(bd_t*);
 extern int mpc8220_fec_initialize(bd_t*);
 extern int mv6436x_eth_initialize(bd_t *);
 extern int mv6446x_eth_initialize(bd_t *);
-extern int natsemi_initialize(bd_t*);
 extern int pcnet_initialize(bd_t*);
 extern int plb2800_eth_initialize(bd_t*);
 extern int ppc_4xx_eth_initialize(bd_t *);
@@ -233,9 +232,6 @@ int eth_initialize(bd_t *bis)
 #endif
 #ifdef CFG_GT_6426x
 	gt6426x_eth_initialize(bis);
-#endif
-#ifdef CONFIG_NATSEMI
-	natsemi_initialize(bis);
 #endif
 	if (!eth_devices) {
 		puts ("No ethernet found.\n");
-- 
2.39.5