From 25c24f3dc7f01491ea0d92a1de2bb84094b27e21 Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: Fri, 21 Dec 2007 15:39:37 +1100 Subject: [PATCH] [POWERPC] pci32: 4xx embedded platforms want to reassign all PCI resources This makes 4xx embedded platforms re-assign all PCI resources as we pretty much never care about what the various firmwares have done on these, it's generally not compatible with the way the kernel will map the bridges. We still need to also enable bus renumbering on some of them, but I will do that from a separate patch after I've fixed 4xx PCIe to handle all bus numbers. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> --- arch/powerpc/platforms/40x/ep405.c | 2 ++ arch/powerpc/platforms/40x/kilauea.c | 3 +++ arch/powerpc/platforms/40x/walnut.c | 3 +++ arch/powerpc/platforms/44x/bamboo.c | 4 ++++ arch/powerpc/platforms/44x/ebony.c | 3 +++ arch/powerpc/platforms/44x/katmai.c | 3 +++ arch/powerpc/platforms/44x/sequoia.c | 5 ++++- arch/powerpc/platforms/44x/taishan.c | 2 ++ 8 files changed, 24 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/platforms/40x/ep405.c b/arch/powerpc/platforms/40x/ep405.c index ba84a41e63e6e3..759d937cdb65d0 100644 --- a/arch/powerpc/platforms/40x/ep405.c +++ b/arch/powerpc/platforms/40x/ep405.c @@ -101,6 +101,8 @@ static void __init ep405_setup_arch(void) { /* Find & init the BCSR CPLD */ ep405_init_bcsr(); + + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; } static int __init ep405_probe(void) diff --git a/arch/powerpc/platforms/40x/kilauea.c b/arch/powerpc/platforms/40x/kilauea.c index 1bffdbdd21b1c7..4470940065b7b5 100644 --- a/arch/powerpc/platforms/40x/kilauea.c +++ b/arch/powerpc/platforms/40x/kilauea.c @@ -19,6 +19,7 @@ #include <asm/udbg.h> #include <asm/time.h> #include <asm/uic.h> +#include <asm/pci-bridge.h> static struct of_device_id kilauea_of_bus[] = { { .compatible = "ibm,plb4", }, @@ -45,6 +46,8 @@ static int __init kilauea_probe(void) if (!of_flat_dt_is_compatible(root, "amcc,kilauea")) return 0; + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; + return 1; } diff --git a/arch/powerpc/platforms/40x/walnut.c b/arch/powerpc/platforms/40x/walnut.c index ff6db243179887..aea97017a7d477 100644 --- a/arch/powerpc/platforms/40x/walnut.c +++ b/arch/powerpc/platforms/40x/walnut.c @@ -24,6 +24,7 @@ #include <asm/udbg.h> #include <asm/time.h> #include <asm/uic.h> +#include <asm/pci-bridge.h> static struct of_device_id walnut_of_bus[] = { { .compatible = "ibm,plb3", }, @@ -51,6 +52,8 @@ static int __init walnut_probe(void) if (!of_flat_dt_is_compatible(root, "ibm,walnut")) return 0; + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; + return 1; } diff --git a/arch/powerpc/platforms/44x/bamboo.c b/arch/powerpc/platforms/44x/bamboo.c index be23f112184f66..553c9f18aa7711 100644 --- a/arch/powerpc/platforms/44x/bamboo.c +++ b/arch/powerpc/platforms/44x/bamboo.c @@ -21,6 +21,8 @@ #include <asm/udbg.h> #include <asm/time.h> #include <asm/uic.h> +#include <asm/pci-bridge.h> + #include "44x.h" static struct of_device_id bamboo_of_bus[] = { @@ -48,6 +50,8 @@ static int __init bamboo_probe(void) if (!of_flat_dt_is_compatible(root, "amcc,bamboo")) return 0; + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; + return 1; } diff --git a/arch/powerpc/platforms/44x/ebony.c b/arch/powerpc/platforms/44x/ebony.c index 6cd3476767cc3b..262f300cc10d78 100644 --- a/arch/powerpc/platforms/44x/ebony.c +++ b/arch/powerpc/platforms/44x/ebony.c @@ -24,6 +24,7 @@ #include <asm/udbg.h> #include <asm/time.h> #include <asm/uic.h> +#include <asm/pci-bridge.h> #include "44x.h" @@ -55,6 +56,8 @@ static int __init ebony_probe(void) if (!of_flat_dt_is_compatible(root, "ibm,ebony")) return 0; + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; + return 1; } diff --git a/arch/powerpc/platforms/44x/katmai.c b/arch/powerpc/platforms/44x/katmai.c index fd737d10f6e4c5..158ca0558a008c 100644 --- a/arch/powerpc/platforms/44x/katmai.c +++ b/arch/powerpc/platforms/44x/katmai.c @@ -21,6 +21,7 @@ #include <asm/udbg.h> #include <asm/time.h> #include <asm/uic.h> +#include <asm/pci-bridge.h> #include "44x.h" @@ -49,6 +50,8 @@ static int __init katmai_probe(void) if (!of_flat_dt_is_compatible(root, "amcc,katmai")) return 0; + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; + return 1; } diff --git a/arch/powerpc/platforms/44x/sequoia.c b/arch/powerpc/platforms/44x/sequoia.c index 21a9dd14f297c8..5185b5cb48c9a4 100644 --- a/arch/powerpc/platforms/44x/sequoia.c +++ b/arch/powerpc/platforms/44x/sequoia.c @@ -21,7 +21,8 @@ #include <asm/udbg.h> #include <asm/time.h> #include <asm/uic.h> -#include "44x.h" +#include <asm/pci-bridge.h> + static struct of_device_id sequoia_of_bus[] = { { .compatible = "ibm,plb4", }, @@ -48,6 +49,8 @@ static int __init sequoia_probe(void) if (!of_flat_dt_is_compatible(root, "amcc,sequoia")) return 0; + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; + return 1; } diff --git a/arch/powerpc/platforms/44x/taishan.c b/arch/powerpc/platforms/44x/taishan.c index e3b7c7023336c4..ca71666bde272a 100644 --- a/arch/powerpc/platforms/44x/taishan.c +++ b/arch/powerpc/platforms/44x/taishan.c @@ -60,6 +60,8 @@ static int __init taishan_probe(void) if (!of_flat_dt_is_compatible(root, "amcc,taishan")) return 0; + ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; + return 1; } -- GitLab