[U-Boot] [PATCH] ppc4xx: Fix problem with board_eth_init() vs cpu_eth_init() on AMCC boards

Stefan Roese sr at denx.de
Wed Feb 11 09:52:05 CET 2009


Some AMCC eval boards do have a board_eth_init() function calling
pci_eth_init(). These boards need to call cpu_eth_init() explicitly now
with the new eth_init rework.

Signed-off-by: Stefan Roese <sr at denx.de>
---
 board/amcc/katmai/katmai.c   |    8 +++++++-
 board/amcc/taihu/taihu.c     |    8 +++++++-
 board/amcc/taishan/taishan.c |    8 +++++++-
 board/amcc/yucca/yucca.c     |    8 +++++++-
 4 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/board/amcc/katmai/katmai.c b/board/amcc/katmai/katmai.c
index b6c0c11..cace93f 100644
--- a/board/amcc/katmai/katmai.c
+++ b/board/amcc/katmai/katmai.c
@@ -451,5 +451,11 @@ int post_hotkeys_pressed(void)
 
 int board_eth_init(bd_t *bis)
 {
-	return pci_eth_init(bis);
+	cpu_eth_init(bis);
+	pci_eth_init(bis);
+
+	/*
+	 * Return 0 so that cpu_eth_init() won't get executed again
+	 */
+	return 0;
 }
diff --git a/board/amcc/taihu/taihu.c b/board/amcc/taihu/taihu.c
index 5224378..8e74b3c 100644
--- a/board/amcc/taihu/taihu.c
+++ b/board/amcc/taihu/taihu.c
@@ -195,5 +195,11 @@ int pci_pre_init(struct pci_controller *hose)
 
 int board_eth_init(bd_t *bis)
 {
-	return pci_eth_init(bis);
+	cpu_eth_init(bis);
+	pci_eth_init(bis);
+
+	/*
+	 * Return 0 so that cpu_eth_init() won't get executed again
+	 */
+	return 0;
 }
diff --git a/board/amcc/taishan/taishan.c b/board/amcc/taishan/taishan.c
index 28bdab5..0b5cdcc 100644
--- a/board/amcc/taishan/taishan.c
+++ b/board/amcc/taishan/taishan.c
@@ -315,5 +315,11 @@ int post_hotkeys_pressed(void)
 
 int board_eth_init(bd_t *bis)
 {
-	return pci_eth_init(bis);
+	cpu_eth_init(bis);
+	pci_eth_init(bis);
+
+	/*
+	 * Return 0 so that cpu_eth_init() won't get executed again
+	 */
+	return 0;
 }
diff --git a/board/amcc/yucca/yucca.c b/board/amcc/yucca/yucca.c
index c805568..6036b29 100644
--- a/board/amcc/yucca/yucca.c
+++ b/board/amcc/yucca/yucca.c
@@ -956,5 +956,11 @@ int onboard_pci_arbiter_selected(int core_pci)
 
 int board_eth_init(bd_t *bis)
 {
-	return pci_eth_init(bis);
+	cpu_eth_init(bis);
+	pci_eth_init(bis);
+
+	/*
+	 * Return 0 so that cpu_eth_init() won't get executed again
+	 */
+	return 0;
 }
-- 
1.6.1.3



More information about the U-Boot mailing list