Index: linux-2.6.15-rc1/arch/arm/kernel/apm.c
===================================================================
--- linux-2.6.15-rc1.orig/arch/arm/kernel/apm.c	2005-11-14 09:49:25.000000000 +0000
+++ linux-2.6.15-rc1/arch/arm/kernel/apm.c	2005-11-14 10:12:23.000000000 +0000
@@ -20,7 +20,6 @@
 #include <linux/apm_bios.h>
 #include <linux/sched.h>
 #include <linux/pm.h>
-#include <linux/pm_legacy.h>
 #include <linux/device.h>
 #include <linux/kernel.h>
 #include <linux/list.h>
@@ -81,6 +80,7 @@
  */
 static int suspends_pending;
 static int apm_disabled;
+static int pm_active;
 
 static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
 static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
@@ -522,7 +522,7 @@
 		return -ENODEV;
 	}
 
-	if (PM_IS_ACTIVE()) {
+	if (pm_active != 0) {
 		printk(KERN_NOTICE "apm: overridden by ACPI.\n");
 		return -EINVAL;
 	}
Index: linux-2.6.15-rc1/arch/arm/Kconfig
===================================================================
--- linux-2.6.15-rc1.orig/arch/arm/Kconfig	2005-11-14 09:49:30.000000000 +0000
+++ linux-2.6.15-rc1/arch/arm/Kconfig	2005-11-14 10:12:53.000000000 +0000
@@ -705,6 +705,13 @@
 	  anything, try disabling/enabling this option (or disabling/enabling
 	  APM in your BIOS).
 
+config PM_LEGACY
+	bool "Legacy Power Management API"
+	depends on PM
+	default n
+	---help---
+	  Support for pm_register() and friends.
+
 endmenu
 
 source "net/Kconfig"
