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

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@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; }
/*

Dear Stefan Roese,
In message 1254486916-3040-1-git-send-email-sr@denx.de you wrote:
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.
Thanks.
Acked-by: Wolfgang Denk wd@denx.de
But looking at this patch, it seems that larger parts in this (supposedly) board-specific code are actually more or less identical.
Should we not factor out such common code?
Best regards,
Wolfgang Denk

Hi Wolfgang,
On Friday 02 October 2009 14:41:58 Wolfgang Denk wrote:
But looking at this patch, it seems that larger parts in this (supposedly) board-specific code are actually more or less identical.
Should we not factor out such common code?
Yes, this could (should) be done. But there are differences in these board specific functions. This consolidation could introduce new errors/bugs. And I didn't want to do such a thing, now that the merge window is closed. And frankly, I don't have the time for such a cleanup right now. But I'll put this on my to-do list.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de

Dear Stefan Roese,
In message 200910021450.19551.sr@denx.de you wrote:
But looking at this patch, it seems that larger parts in this (supposedly) board-specific code are actually more or less identical.
Should we not factor out such common code?
Yes, this could (should) be done. But there are differences in these board specific functions. This consolidation could introduce new errors/bugs. And I didn't want to do such a thing, now that the merge window is closed. And
I did not intend to ask for this fior the current release.
frankly, I don't have the time for such a cleanup right now. But I'll put this on my to-do list.
Thanks.
Best regards,
Wolfgang Denk

On Friday 02 October 2009 14:35:16 Stefan Roese wrote:
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.
Applied to u-boot-ppc4xx. Thanks.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
participants (2)
-
Stefan Roese
-
Wolfgang Denk