Moved initialization of 3COM Ethernet controller (AmigaOne) to board_eth_init()
Affected boards:
AmigaOneG3SE
Removed initialization of the driver from net/eth.c
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
diff --git a/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c b/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
index e118563..4d44001 100644
--- a/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
+++ b/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
@@ -26,6 +26,7 @@
#include <common.h>
#include <command.h>
#include <pci.h>
+#include <netdev.h>
#include "articiaS.h"
#include "memio.h"
#include "via686.h"
@@ -111,3 +112,11 @@
articiaS_pci_init ();
#endif
}
+
+int board_eth_init(bd_t *bis)
+{
+#if defined(CONFIG_3COM)
+ eth_3com_initialize(bis);
+#endif
+ return 0;
+}
diff --git a/board/MAI/AmigaOneG3SE/enet.c b/board/MAI/AmigaOneG3SE/enet.c
index 5a90cc5..0b4dfe6 100644
--- a/board/MAI/AmigaOneG3SE/enet.c
+++ b/board/MAI/AmigaOneG3SE/enet.c
@@ -28,6 +28,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 666d12d..0c16dd6 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -42,6 +42,7 @@
/* Driver initialization prototypes */
int bfin_EMAC_initialize(bd_t *bis);
+int eth_3com_initialize (bd_t * bis);
int greth_initialize(bd_t *bis);
void gt6426x_eth_initialize(bd_t *bis);
int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
diff --git a/net/eth.c b/net/eth.c
index 99efa16..c4d7b63 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -43,7 +43,6 @@
extern int dc21x4x_initialize(bd_t*);
extern int e1000_initialize(bd_t*);
extern int eepro100_initialize(bd_t*);
-extern int eth_3com_initialize(bd_t*);
extern int fec_initialize(bd_t*);
extern int inca_switch_initialize(bd_t*);
extern int mpc5xxx_fec_initialize(bd_t*);
@@ -219,9 +218,6 @@
#ifdef CONFIG_TULIP
dc21x4x_initialize(bis);
#endif
-#ifdef CONFIG_3COM
- eth_3com_initialize(bis);
-#endif
if (!eth_devices) {
puts ("No ethernet found.\n");
show_boot_progress (-64);