diff options
Diffstat (limited to 'drivers/pnp/pnpbios/core.c')
-rw-r--r-- | drivers/pnp/pnpbios/core.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c index 551f58e29810..33adeba1a31f 100644 --- a/drivers/pnp/pnpbios/core.c +++ b/drivers/pnp/pnpbios/core.c @@ -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 |