Merge branch 'intx' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6
[pandora-kernel.git] / drivers / pnp / pnpbios / core.c
index 551f58e..33adeba 100644 (file)
@@ -61,6 +61,7 @@
 #include <linux/dmi.h>
 #include <linux/delay.h>
 #include <linux/acpi.h>
+#include <linux/freezer.h>
 
 #include <asm/page.h>
 #include <asm/desc.h>
@@ -526,7 +527,12 @@ static int __init pnpbios_init(void)
 {
        int ret;
 
-       if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table)) {
+#if defined(CONFIG_PPC_MERGE)
+       if (check_legacy_ioport(PNPBIOS_BASE))
+               return -ENODEV;
+#endif
+       if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table) ||
+           paravirt_enabled()) {
                printk(KERN_INFO "PnPBIOS: Disabled\n");
                return -ENODEV;
        }
@@ -575,6 +581,10 @@ subsys_initcall(pnpbios_init);
 
 static int __init pnpbios_thread_init(void)
 {
+#if defined(CONFIG_PPC_MERGE)
+       if (check_legacy_ioport(PNPBIOS_BASE))
+               return 0;
+#endif
        if (pnpbios_disabled)
                return 0;
 #ifdef CONFIG_HOTPLUG