#include <linux/mm.h>
#include <linux/smp.h>
#include <linux/slab.h>
-#include <linux/kmod.h>
+#include <linux/kobject_uevent.h>
#include <linux/completion.h>
#include <linux/spinlock.h>
#include <linux/dmi.h>
+#include <linux/delay.h>
+#include <linux/acpi.h>
#include <asm/page.h>
#include <asm/desc.h>
/*
* Poll every 2 seconds
*/
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(HZ*2);
+ msleep_interruptible(2000);
if(signal_pending(current))
break;
return -ENODEV;
}
+#ifdef CONFIG_PNPACPI
+ if (!acpi_disabled && !pnpacpi_disabled) {
+ pnpbios_disabled = 1;
+ printk(KERN_INFO "PnPBIOS: Disabled by ACPI PNP\n");
+ return -ENODEV;
+ }
+#endif /* CONFIG_ACPI */
+
/* scan the system for pnpbios support */
if (!pnpbios_probe_system())
return -ENODEV;
static int __init pnpbios_thread_init(void)
{
+ if (pnpbios_disabled)
+ return 0;
#ifdef CONFIG_HOTPLUG
init_completion(&unload_sem);
if (kernel_thread(pnp_dock_thread, NULL, CLONE_KERNEL) > 0)