ACPI: restore CONFIG_ACPI_SLEEP
authorLen Brown <len.brown@intel.com>
Sat, 28 Jul 2007 07:33:16 +0000 (03:33 -0400)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 29 Jul 2007 23:53:59 +0000 (16:53 -0700)
Restore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the
new CONFIG_PM_SLEEP option.

Signed-off-by: Len Brown <len.brown@intel.com>
[ Modified to work with the PM config setup changes. ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 files changed:
arch/i386/kernel/acpi/Makefile
arch/i386/kernel/setup.c
arch/x86_64/kernel/acpi/Makefile
arch/x86_64/kernel/head.S
arch/x86_64/kernel/setup.c
drivers/acpi/Kconfig
drivers/acpi/sleep/Makefile
drivers/acpi/sleep/poweroff.c
drivers/acpi/sleep/proc.c
drivers/pci/pci-acpi.c
drivers/pnp/pnpacpi/core.c
include/acpi/acpi_drivers.h
kernel/sysctl.c

index 223f58fc9f46f32cff0d6e51bfe2438fb4072a34..7f7be01f44e66cd27257870d540ed38d3f1e1661 100644 (file)
@@ -2,7 +2,7 @@ obj-$(CONFIG_ACPI)              += boot.o
 ifneq ($(CONFIG_PCI),)
 obj-$(CONFIG_X86_IO_APIC)      += earlyquirk.o
 endif
-obj-$(CONFIG_ACPI)             += sleep.o wakeup.o
+obj-$(CONFIG_ACPI_SLEEP)       += sleep.o wakeup.o
 
 ifneq ($(CONFIG_ACPI_PROCESSOR),)
 obj-y                          += cstate.o processor.o
index 7fe5da3c932e270f742290af4c35536a0ef29291..d474cd639bcb8ece22f706d285950926a50541ac 100644 (file)
@@ -422,7 +422,7 @@ void __init setup_bootmem_allocator(void)
         */
        reserve_bootmem(PAGE_SIZE, PAGE_SIZE);
 #endif
-#ifdef CONFIG_ACPI
+#ifdef CONFIG_ACPI_SLEEP
        /*
         * Reserve low memory region for sleep support.
         */
index 17595d23fee7be9c3e873ce9095d71fe0efa9a04..080b9963f1bc1a6f0213a8a59b7ef8898f6d829c 100644 (file)
@@ -1,6 +1,6 @@
 obj-y                  := boot.o
 boot-y                 := ../../../i386/kernel/acpi/boot.o
-obj-y                  += sleep.o wakeup.o
+obj-$(CONFIG_ACPI_SLEEP)       += sleep.o wakeup.o
 
 ifneq ($(CONFIG_ACPI_PROCESSOR),)
 obj-y                  += processor.o
index 3a16e417dd8dae1fc448043386041d9e211aca0c..e89abcdbdde8172e25d6dff0ddb8323471495c66 100644 (file)
@@ -120,7 +120,7 @@ ident_complete:
        addq    %rbp, trampoline_level4_pgt + 0(%rip)
        addq    %rbp, trampoline_level4_pgt + (511*8)(%rip)
 #endif
-#ifdef CONFIG_ACPI
+#ifdef CONFIG_ACPI_SLEEP
        addq    %rbp, wakeup_level4_pgt + 0(%rip)
        addq    %rbp, wakeup_level4_pgt + (511*8)(%rip)
 #endif
index 0f400f3c469494894b37d68f7d2badf44a246e97..af838f6b0b7fc9b7e3ed4de0ab12992e48cf9f18 100644 (file)
@@ -333,7 +333,7 @@ void __init setup_arch(char **cmdline_p)
        reserve_bootmem_generic(SMP_TRAMPOLINE_BASE, 2*PAGE_SIZE);
 #endif
 
-#ifdef CONFIG_ACPI
+#ifdef CONFIG_ACPI_SLEEP
        /*
         * Reserve low memory region for sleep support.
         */
index 66e78d52a093cd1e3104c70e0209a60290c302f4..934d639b36848598fb2a6ddcffe40e2bbe4f34d6 100644 (file)
@@ -42,6 +42,11 @@ menuconfig ACPI
 
 if ACPI
 
+config ACPI_SLEEP
+       bool
+       depends on PM_SLEEP
+       default y
+
 config ACPI_PROCFS
        bool "Deprecated /proc/acpi files"
        depends on PROC_FS
index 2bec897ab1eb6c3e9cfa139092f237242bb073a3..195a4f69c0f773d4ba73119d3efd0512c9d10454 100644 (file)
@@ -1,5 +1,5 @@
 obj-y                                  := poweroff.o wakeup.o
-obj-$(CONFIG_PM_SLEEP)                 += main.o
-obj-$(CONFIG_X86)                      += proc.o
+obj-$(CONFIG_ACPI_SLEEP)               += main.o
+obj-$(CONFIG_ACPI_SLEEP)               += proc.o
 
 EXTRA_CFLAGS += $(ACPI_CFLAGS)
index b3f68ef0669ed23ba6077e4c784a9b20eaab9564..39e40d56b034ec9bd46e68c4a9e2d9467c3b9686 100644 (file)
@@ -18,6 +18,7 @@
 
 int acpi_sleep_prepare(u32 acpi_state)
 {
+#ifdef CONFIG_ACPI_SLEEP
        /* do we have a wakeup address for S2 and S3? */
        if (acpi_state == ACPI_STATE_S3) {
                if (!acpi_wakeup_address) {
@@ -30,6 +31,7 @@ int acpi_sleep_prepare(u32 acpi_state)
        }
        ACPI_FLUSH_CPU_CACHE();
        acpi_enable_wakeup_device_prep(acpi_state);
+#endif
        acpi_gpe_sleep_prepare(acpi_state);
        acpi_enter_sleep_state_prep(acpi_state);
        return 0;
index 5dfe8b789633c409ca1fa1c33c5c3096d3e1351d..66b62b0d3609a52b976316166e1ee1b271a56cb7 100644 (file)
@@ -78,7 +78,7 @@ acpi_system_write_sleep(struct file *file,
 }
 #endif                         /* CONFIG_ACPI_PROCFS_SLEEP */
 
-#if defined(CONFIG_RTC_DRV_CMOS) || defined(CONFIG_RTC_DRV_CMOS_MODULE)
+#if defined(CONFIG_RTC_DRV_CMOS) || defined(CONFIG_RTC_DRV_CMOS_MODULE) || !defined(CONFIG_X86)
 /* use /sys/class/rtc/rtcX/wakealarm instead; it's not ACPI-specific */
 #else
 #define        HAVE_ACPI_LEGACY_ALARM
index 67c63d1f15829453941f94f3283d0bef1da421f1..5c6a5d043007ebec1418fe2d9a70cf5071cc06eb 100644 (file)
@@ -220,6 +220,7 @@ acpi_status pci_osc_control_set(acpi_handle handle, u32 flags)
 }
 EXPORT_SYMBOL(pci_osc_control_set);
 
+#ifdef CONFIG_ACPI_SLEEP
 /*
  * _SxD returns the D-state with the highest power
  * (lowest D-state number) supported in the S-state "x".
@@ -267,6 +268,7 @@ static pci_power_t acpi_pci_choose_state(struct pci_dev *pdev,
        }
        return PCI_POWER_ERROR;
 }
+#endif
 
 static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state)
 {
@@ -340,7 +342,9 @@ static int __init acpi_pci_init(void)
        ret = register_acpi_bus_type(&acpi_pci_bus);
        if (ret)
                return 0;
+#ifdef CONFIG_ACPI_SLEEP
        platform_pci_choose_state = acpi_pci_choose_state;
+#endif
        platform_pci_set_power_state = acpi_pci_set_power_state;
        return 0;
 }
index 6a2a3c2f4d5e56641d12b6ee9f625d9fce58a59e..616fc72190bfd9ad007c459bc142e063a6150d2f 100644 (file)
@@ -127,6 +127,7 @@ static int pnpacpi_disable_resources(struct pnp_dev *dev)
        return ACPI_FAILURE(status) ? -ENODEV : 0;
 }
 
+#ifdef CONFIG_ACPI_SLEEP
 static int pnpacpi_suspend(struct pnp_dev *dev, pm_message_t state)
 {
        return acpi_bus_set_power((acpi_handle) dev->data,
@@ -140,14 +141,17 @@ static int pnpacpi_resume(struct pnp_dev *dev)
 {
        return acpi_bus_set_power((acpi_handle) dev->data, ACPI_STATE_D0);
 }
+#endif
 
 static struct pnp_protocol pnpacpi_protocol = {
        .name    = "Plug and Play ACPI",
        .get     = pnpacpi_get_resources,
        .set     = pnpacpi_set_resources,
        .disable = pnpacpi_disable_resources,
+#ifdef CONFIG_ACPI_SLEEP
        .suspend = pnpacpi_suspend,
        .resume = pnpacpi_resume,
+#endif
 };
 
 static int __init pnpacpi_add_device(struct acpi_device *device)
index 777d37ae81a244784eba1abc8e9e826a8067d02f..202acb9ff4d071299cb0926c8887cc5d3b57bd53 100644 (file)
@@ -147,7 +147,7 @@ static inline void unregister_hotplug_dock_device(acpi_handle handle)
 /*--------------------------------------------------------------------------
                                   Suspend/Resume
   -------------------------------------------------------------------------- */
-#ifdef CONFIG_PM_SLEEP
+#ifdef CONFIG_ACPI_SLEEP
 extern int acpi_sleep_init(void);
 #else
 static inline int acpi_sleep_init(void) { return 0; }
index eb26f2ba51ed33eb30f3be4c359875faad721e9f..79c891e6266cf8a7babd078f993e9960295ea088 100644 (file)
@@ -689,7 +689,7 @@ static ctl_table kern_table[] = {
                .proc_handler   = &proc_dointvec,
        },
 #endif
-#if defined(CONFIG_ACPI) && defined(CONFIG_X86)
+#if    defined(CONFIG_ACPI_SLEEP) && defined(CONFIG_X86)
        {
                .ctl_name       = KERN_ACPI_VIDEO_FLAGS,
                .procname       = "acpi_video_flags",