[U-Boot] [PATCH] ppc4xx: Fix msg "initialization as root-complex failed" upon PCIe scan

Stefan Roese sr at denx.de
Fri Oct 2 14:35:16 CEST 2009


This message is printed upon PCIe bus scan, not only upon error, but also
if no PCIe device is detected at all. Since this is not an error, let's
remove this message in this case. We already have the message
"link is not up." if there is no PCIe device present.

Signed-off-by: Stefan Roese <sr at denx.de>
---
 board/amcc/canyonlands/canyonlands.c |    3 +++
 board/amcc/katmai/katmai.c           |    3 +++
 board/amcc/kilauea/kilauea.c         |    3 +++
 board/amcc/makalu/makalu.c           |    3 +++
 board/amcc/yucca/yucca.c             |    3 +++
 cpu/ppc4xx/4xx_pcie.c                |    3 ++-
 6 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/board/amcc/canyonlands/canyonlands.c b/board/amcc/canyonlands/canyonlands.c
index f359d23..9495b62 100644
--- a/board/amcc/canyonlands/canyonlands.c
+++ b/board/amcc/canyonlands/canyonlands.c
@@ -28,6 +28,7 @@
 #include <asm/mmu.h>
 #include <asm/4xx_pcie.h>
 #include <asm/gpio.h>
+#include <asm/errno.h>
 
 extern flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; /* info for FLASH chips */
 
@@ -414,6 +415,8 @@ void pcie_setup_hoses(int busno)
 			ret = ppc4xx_init_pcie_endport(i);
 		else
 			ret = ppc4xx_init_pcie_rootport(i);
+		if (ret == -ENODEV)
+			continue;
 		if (ret) {
 			printf("PCIE%d: initialization as %s failed\n", i,
 			       is_end_point(i) ? "endpoint" : "root-complex");
diff --git a/board/amcc/katmai/katmai.c b/board/amcc/katmai/katmai.c
index bcef707..aa6d0ab 100644
--- a/board/amcc/katmai/katmai.c
+++ b/board/amcc/katmai/katmai.c
@@ -32,6 +32,7 @@
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/4xx_pcie.h>
+#include <asm/errno.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -391,6 +392,8 @@ void pcie_setup_hoses(int busno)
 			ret = ppc4xx_init_pcie_endport(i);
 		else
 			ret = ppc4xx_init_pcie_rootport(i);
+		if (ret == -ENODEV)
+			continue;
 		if (ret) {
 			printf("PCIE%d: initialization as %s failed\n", i,
 			       is_end_point(i) ? "endpoint" : "root-complex");
diff --git a/board/amcc/kilauea/kilauea.c b/board/amcc/kilauea/kilauea.c
index 5ebe692..5cd822a 100644
--- a/board/amcc/kilauea/kilauea.c
+++ b/board/amcc/kilauea/kilauea.c
@@ -28,6 +28,7 @@
 #include <fdt_support.h>
 #include <asm/processor.h>
 #include <asm/io.h>
+#include <asm/errno.h>
 
 #if defined(CONFIG_PCI)
 #include <pci.h>
@@ -317,6 +318,8 @@ void pcie_setup_hoses(int busno)
 			ret = ppc4xx_init_pcie_endport(i);
 		else
 			ret = ppc4xx_init_pcie_rootport(i);
+		if (ret == -ENODEV)
+			continue;
 		if (ret) {
 			printf("PCIE%d: initialization as %s failed\n", i,
 			       is_end_point(i) ? "endpoint" : "root-complex");
diff --git a/board/amcc/makalu/makalu.c b/board/amcc/makalu/makalu.c
index fb0e7b7..d4277dd 100644
--- a/board/amcc/makalu/makalu.c
+++ b/board/amcc/makalu/makalu.c
@@ -29,6 +29,7 @@
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <fdt_support.h>
+#include <asm/errno.h>
 
 #if defined(CONFIG_PCI)
 #include <pci.h>
@@ -273,6 +274,8 @@ void pcie_setup_hoses(int busno)
 			ret = ppc4xx_init_pcie_endport(i);
 		else
 			ret = ppc4xx_init_pcie_rootport(i);
+		if (ret == -ENODEV)
+			continue;
 		if (ret) {
 			printf("PCIE%d: initialization as %s failed\n", i,
 			       is_end_point(i) ? "endpoint" : "root-complex");
diff --git a/board/amcc/yucca/yucca.c b/board/amcc/yucca/yucca.c
index 033bdd2..5c9d491 100644
--- a/board/amcc/yucca/yucca.c
+++ b/board/amcc/yucca/yucca.c
@@ -32,6 +32,7 @@
 #include <asm/processor.h>
 #include <asm/io.h>
 #include <asm/4xx_pcie.h>
+#include <asm/errno.h>
 
 #include "yucca.h"
 
@@ -830,6 +831,8 @@ void pcie_setup_hoses(int busno)
 			yucca_setup_pcie_fpga_rootpoint(i);
 			ret = ppc4xx_init_pcie_rootport(i);
 		}
+		if (ret == -ENODEV)
+			continue;
 		if (ret) {
 			printf("PCIE%d: initialization as %s failed\n", i,
 			       is_end_point(i) ? "endpoint" : "root-complex");
diff --git a/cpu/ppc4xx/4xx_pcie.c b/cpu/ppc4xx/4xx_pcie.c
index e880c28..19d2c7d 100644
--- a/cpu/ppc4xx/4xx_pcie.c
+++ b/cpu/ppc4xx/4xx_pcie.c
@@ -30,6 +30,7 @@
 #include <ppc4xx.h>
 #include <asm/processor.h>
 #include <asm-ppc/io.h>
+#include <asm/errno.h>
 
 #if (defined(CONFIG_440SPE) || defined(CONFIG_405EX) ||	\
     defined(CONFIG_460EX) || defined(CONFIG_460GT)) && \
@@ -874,7 +875,7 @@ int ppc4xx_init_pcie_port(int port, int rootport)
 	val = SDR_READ(SDRN_PESDR_LOOP(port));
 	if (!(val & 0x00001000)) {
 		printf("PCIE%d: link is not up.\n", port);
-		return -1;
+		return -ENODEV;
 	}
 
 	/*
-- 
1.6.4.4



More information about the U-Boot mailing list