Suspend: Clean up Kconfig (V2)
[safe/jmp/linux-2.6] / kernel / power / Kconfig
index 7332847..f8153fd 100644 (file)
@@ -33,24 +33,41 @@ config PM_DEBUG
        bool "Power Management Debug Support"
        depends on PM
        ---help---
-       This option enables verbose debugging support in the Power Management
-       code. This is helpful when debugging and reporting various PM bugs, 
-       like suspend support.
+       This option enables various debugging support in the Power Management
+       code. This is helpful when debugging and reporting PM bugs, like
+       suspend support.
 
-config DISABLE_CONSOLE_SUSPEND
-       bool "Keep console(s) enabled during suspend/resume (DANGEROUS)"
-       depends on PM && PM_DEBUG
+config PM_VERBOSE
+       bool "Verbose Power Management debugging"
+       depends on PM_DEBUG
        default n
        ---help---
-       This option turns off the console suspend mechanism that prevents
-       debug messages from reaching the console during the suspend/resume
-       operations.  This may be helpful when debugging device drivers'
-       suspend/resume routines, but may itself lead to problems, for example
-       if netconsole is used.
+       This option enables verbose messages from the Power Management code.
+
+config CAN_PM_TRACE
+       def_bool y
+       depends on PM_DEBUG && PM_SLEEP && EXPERIMENTAL
 
 config PM_TRACE
+       bool
+       help
+         This enables code to save the last PM event point across
+         reboot. The architecture needs to support this, x86 for
+         example does by saving things in the RTC, see below.
+
+         The architecture specific code must provide the extern
+         functions from <linux/resume-trace.h> as well as the
+         <asm/resume-trace.h> header with a TRACE_RESUME() macro.
+
+         The way the information is presented is architecture-
+         dependent, x86 will print the information during a
+         late_initcall.
+
+config PM_TRACE_RTC
        bool "Suspend/resume event tracing"
-       depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL
+       depends on CAN_PM_TRACE
+       depends on X86
+       select PM_TRACE
        default n
        ---help---
        This enables some cheesy code to save the last PM event point in the
@@ -65,9 +82,31 @@ config PM_TRACE
        CAUTION: this option will cause your machine's real-time clock to be
        set to an invalid time after a resume.
 
-config SOFTWARE_SUSPEND
-       bool "Software Suspend (Hibernation)"
-       depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
+config PM_SLEEP_SMP
+       bool
+       depends on SMP
+       depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
+       depends on PM_SLEEP
+       select HOTPLUG_CPU
+       default y
+
+config PM_SLEEP
+       bool
+       depends on SUSPEND || HIBERNATION
+       default y
+
+config SUSPEND
+       bool "Suspend to RAM and standby"
+       depends on PM && ARCH_SUSPEND_POSSIBLE
+       default y
+       ---help---
+         Allow the system to enter sleep states in which main memory is
+         powered and thus its contents are preserved, such as the
+         suspend-to-RAM state (e.g. the ACPI S3 state).
+
+config HIBERNATION
+       bool "Hibernation (aka 'suspend to disk')"
+       depends on PM && SWAP && ARCH_HIBERNATION_POSSIBLE
        ---help---
          Enable the suspend to disk (STD) functionality, which is usually
          called "hibernation" in user interfaces.  STD checkpoints the
@@ -105,7 +144,7 @@ config SOFTWARE_SUSPEND
 
 config PM_STD_PARTITION
        string "Default resume partition"
-       depends on SOFTWARE_SUSPEND
+       depends on HIBERNATION
        default ""
        ---help---
          The default resume partition is the partition that the suspend-
@@ -125,11 +164,6 @@ config PM_STD_PARTITION
          suspended image to. It will simply pick the first available swap 
          device.
 
-config SUSPEND_SMP
-       bool
-       depends on HOTPLUG_CPU && (X86 || PPC64) && PM
-       default y
-
 config APM_EMULATION
        tristate "Advanced Power Management Emulation"
        depends on PM && SYS_SUPPORTS_APM_EMULATION