[PATCH 08/18 v2] powerpc: Do not probe PCI buses or eBus devices if CMO is enabled
From: Robert Jennings <hidden>
Date: 2008-06-25 20:17:29
=46rom: Brian King [off-list ref] The Cooperative Memory Overcommit (CMO) on System p does not currently support native PCI devices or eBus devices when enabled. Prevent PCI bus probe and eBus device probe if the feature is enabled. Signed-off-by: Brian King <redacted> Signed-off-by: Robert Jennings <redacted> --- arch/powerpc/kernel/ibmebus.c | 6 ++++++ arch/powerpc/platforms/pseries/setup.c | 4 ++++ 2 files changed, 10 insertions(+) Index: b/arch/powerpc/kernel/ibmebus.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c@@ -45,6 +45,7 @@ #include <linux/of_platform.h> #include <asm/ibmebus.h> #include <asm/abs_addr.h> +#include <asm/firmware.h>
=20
static struct device ibmebus_bus_device =3D { /* fake "parent" device */
.bus_id =3D "ibmebus",@@ -332,6 +333,11 @@ static int __init ibmebus_bus_init(void) { int err;
=20
+ if (firmware_has_feature(FW_FEATURE_CMO)) {
+ printk(KERN_WARNING "Not probing eBus since CMO is enabled\n");
+ return 0;
+ }
+
printk(KERN_INFO "IBM eBus Device Driver\n");
=20
err =3D of_bus_type_init(&ibmebus_bus_type, "ibmebus");
Index: b/arch/powerpc/platforms/pseries/setup.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c@@ -539,6 +539,10 @@ static void pseries_shared_idle_sleep(vo=20
static int pSeries_pci_probe_mode(struct pci_bus *bus)
{
+ if (firmware_has_feature(FW_FEATURE_CMO)) {
+ dev_warn(&bus->dev, "Not probing PCI bus since CMO is enabled\n");
+ return PCI_PROBE_NONE;
+ }
if (firmware_has_feature(FW_FEATURE_LPAR))
return PCI_PROBE_DEVTREE;
return PCI_PROBE_NORMAL;