summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/Marvell/db64460/db64460.c6
-rw-r--r--board/Marvell/db64460/eth.h2
-rw-r--r--board/prodrive/p3mx/eth.h1
-rw-r--r--board/prodrive/p3mx/p3mx.c5
-rw-r--r--net/eth.c5
5 files changed, 13 insertions, 6 deletions
diff --git a/board/Marvell/db64460/db64460.c b/board/Marvell/db64460/db64460.c
index a7836ed..d4f58b3 100644
--- a/board/Marvell/db64460/db64460.c
+++ b/board/Marvell/db64460/db64460.c
@@ -934,5 +934,9 @@ void board_prebootm_init ()
int board_eth_init(bd_t *bis)
{
- return pci_eth_init(bis);
+ int ret;
+ ret = pci_eth_init(bis);
+ if (!ret)
+ ret = mv6446x_eth_initialize(bis);
+ return ret;
}
diff --git a/board/Marvell/db64460/eth.h b/board/Marvell/db64460/eth.h
index 6c3b2e0..59cfd6f 100644
--- a/board/Marvell/db64460/eth.h
+++ b/board/Marvell/db64460/eth.h
@@ -38,4 +38,6 @@ int db64460_eth0_transmit(unsigned int s, volatile char *p);
void db64460_eth0_disable(void);
bool network_start(bd_t *bis);
+int mv6446x_eth_initialize(bd_t *);
+
#endif /* __EVB64460_ETH_H__ */
diff --git a/board/prodrive/p3mx/eth.h b/board/prodrive/p3mx/eth.h
index aab32d2..44ffba8 100644
--- a/board/prodrive/p3mx/eth.h
+++ b/board/prodrive/p3mx/eth.h
@@ -39,5 +39,6 @@ int db64360_eth0_transmit(unsigned int s, volatile char *p);
void db64360_eth0_disable(void);
bool network_start(bd_t *bis);
+int mv6446x_eth_initialize(bd_t *);
#endif /* __EVB64360_ETH_H__ */
diff --git a/board/prodrive/p3mx/p3mx.c b/board/prodrive/p3mx/p3mx.c
index 09e4f82..389affc 100644
--- a/board/prodrive/p3mx/p3mx.c
+++ b/board/prodrive/p3mx/p3mx.c
@@ -851,3 +851,8 @@ void my_remap_gt_regs_bootm (u32 cur_loc, u32 new_loc)
!= temp);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return mv6446x_eth_initialize(bis);
+}
diff --git a/net/eth.c b/net/eth.c
index a5780c5..f14767b 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -81,8 +81,6 @@ static int __def_eth_init(bd_t *bis)
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 mv6446x_eth_initialize(bd_t *);
-
#ifdef CONFIG_API
extern void (*push_packet)(volatile void *, int);
@@ -280,9 +278,6 @@ int eth_initialize(bd_t *bis)
} else
printf("Net Initialization Skipped\n");
-#if defined(CONFIG_DB64460) || defined(CONFIG_P3Mx)
- mv6446x_eth_initialize(bis);
-#endif
if (!eth_devices) {
puts ("No ethernet found.\n");
show_boot_progress (-64);