diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c index 60e330cdbd1756481c89683bde6c8646cef81f3c..9693adbc280ccd56bb4aaa22f16b9a008cf80689 100644 --- a/arch/x86/kernel/apm_32.c +++ b/arch/x86/kernel/apm_32.c @@ -197,6 +197,7 @@ #include <linux/module.h> #include <linux/poll.h> +#include <linux/reboot.h> #include <linux/types.h> #include <linux/stddef.h> #include <linux/timer.h> @@ -1843,7 +1844,7 @@ static int apm(void *unused) /* Install our power off handler.. */ if (power_off) - pm_power_off = apm_power_off; + register_platform_power_off(apm_power_off); if (num_online_cpus() == 1 || smp) { #if defined(CONFIG_APM_DISPLAY_BLANK) && defined(CONFIG_VT) @@ -2406,7 +2407,7 @@ static void __exit apm_exit(void) misc_deregister(&apm_device); remove_proc_entry("apm", NULL); if (power_off) - pm_power_off = NULL; + unregister_platform_power_off(apm_power_off); if (kapmd_task) { kthread_stop(kapmd_task); kapmd_task = NULL;