[POWERPC] pci32: 4xx embedded platforms want to reassign all PCI resources
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 21 Dec 2007 04:39:37 +0000 (15:39 +1100)
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>
Sun, 23 Dec 2007 19:18:59 +0000 (13:18 -0600)
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
arch/powerpc/platforms/40x/kilauea.c
arch/powerpc/platforms/40x/walnut.c
arch/powerpc/platforms/44x/bamboo.c
arch/powerpc/platforms/44x/ebony.c
arch/powerpc/platforms/44x/katmai.c
arch/powerpc/platforms/44x/sequoia.c
arch/powerpc/platforms/44x/taishan.c

index ba84a41e63e6e316c75299a83e478f5f6bed3930..759d937cdb65d0e5b0f518e06d3802be0ed64219 100644 (file)
@@ -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)
index 1bffdbdd21b1c7d46440e296d486ee3f92977ff3..4470940065b7b51ddf99dd772e4e4e37ede3e944 100644 (file)
@@ -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;
 }
 
index ff6db243179887cccc3f5da9da5c564e2b1fb418..aea97017a7d4779194c1e17d796676817807f814 100644 (file)
@@ -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;
 }
 
index be23f112184f66be1b175cc612f5a7ae2e142ec1..553c9f18aa7711a381849abcfdf4d9c7e86a5517 100644 (file)
@@ -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;
 }
 
index 6cd3476767cc3b8583332dd8e351166ebc761d97..262f300cc10d78e5b9fda9d0cf73cd9fef46fe5a 100644 (file)
@@ -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;
 }
 
index fd737d10f6e4c50fa14daba4b014a7566107825c..158ca0558a008c94d9f7208548e73eee6ae52806 100644 (file)
@@ -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;
 }
 
index 21a9dd14f297c87175e81d88c1b6f997aed03ab7..5185b5cb48c9a4ef40806554018cba1bdfd11d43 100644 (file)
@@ -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;
 }
 
index e3b7c7023336c4370986ddb8d0c095f0a0010aa1..ca71666bde272af1e3e4d00ad67fb9b93e80cfa5 100644 (file)
@@ -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;
 }