linux/kernel/power/Kconfig
<<
>>
Prefs
   1config PM
   2        bool "Power Management support"
   3        depends on !IA64_HP_SIM
   4        ---help---
   5          "Power Management" means that parts of your computer are shut
   6          off or put into a power conserving "sleep" mode if they are not
   7          being used.  There are two competing standards for doing this: APM
   8          and ACPI.  If you want to use either one, say Y here and then also
   9          to the requisite support below.
  10
  11          Power Management is most important for battery powered laptop
  12          computers; if you have a laptop, check out the Linux Laptop home
  13          page on the WWW at <http://www.linux-on-laptops.com/> or
  14          Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
  15          and the Battery Powered Linux mini-HOWTO, available from
  16          <http://www.tldp.org/docs.html#howto>.
  17
  18          Note that, even if you say N here, Linux on the x86 architecture
  19          will issue the hlt instruction if nothing is to be done, thereby
  20          sending the processor to sleep and saving power.
  21
  22config PM_DEBUG
  23        bool "Power Management Debug Support"
  24        depends on PM
  25        ---help---
  26        This option enables various debugging support in the Power Management
  27        code. This is helpful when debugging and reporting PM bugs, like
  28        suspend support.
  29
  30config PM_VERBOSE
  31        bool "Verbose Power Management debugging"
  32        depends on PM_DEBUG
  33        default n
  34        ---help---
  35        This option enables verbose messages from the Power Management code.
  36
  37config CAN_PM_TRACE
  38        def_bool y
  39        depends on PM_DEBUG && PM_SLEEP && EXPERIMENTAL
  40
  41config PM_TRACE
  42        bool
  43        help
  44          This enables code to save the last PM event point across
  45          reboot. The architecture needs to support this, x86 for
  46          example does by saving things in the RTC, see below.
  47
  48          The architecture specific code must provide the extern
  49          functions from <linux/resume-trace.h> as well as the
  50          <asm/resume-trace.h> header with a TRACE_RESUME() macro.
  51
  52          The way the information is presented is architecture-
  53          dependent, x86 will print the information during a
  54          late_initcall.
  55
  56config PM_TRACE_RTC
  57        bool "Suspend/resume event tracing"
  58        depends on CAN_PM_TRACE
  59        depends on X86
  60        select PM_TRACE
  61        default n
  62        ---help---
  63        This enables some cheesy code to save the last PM event point in the
  64        RTC across reboots, so that you can debug a machine that just hangs
  65        during suspend (or more commonly, during resume).
  66
  67        To use this debugging feature you should attempt to suspend the
  68        machine, reboot it and then run
  69
  70                dmesg -s 1000000 | grep 'hash matches'
  71
  72        CAUTION: this option will cause your machine's real-time clock to be
  73        set to an invalid time after a resume.
  74
  75config PM_SLEEP_SMP
  76        bool
  77        depends on SMP
  78        depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
  79        depends on PM_SLEEP
  80        select HOTPLUG_CPU
  81        default y
  82
  83config PM_SLEEP
  84        bool
  85        depends on SUSPEND || HIBERNATION || XEN_SAVE_RESTORE
  86        default y
  87
  88config SUSPEND
  89        bool "Suspend to RAM and standby"
  90        depends on PM && ARCH_SUSPEND_POSSIBLE
  91        default y
  92        ---help---
  93          Allow the system to enter sleep states in which main memory is
  94          powered and thus its contents are preserved, such as the
  95          suspend-to-RAM state (e.g. the ACPI S3 state).
  96
  97config PM_TEST_SUSPEND
  98        bool "Test suspend/resume and wakealarm during bootup"
  99        depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
 100        ---help---
 101        This option will let you suspend your machine during bootup, and
 102        make it wake up a few seconds later using an RTC wakeup alarm.
 103        Enable this with a kernel parameter like "test_suspend=mem".
 104
 105        You probably want to have your system's RTC driver statically
 106        linked, ensuring that it's available when this test runs.
 107
 108config SUSPEND_FREEZER
 109        bool "Enable freezer for suspend to RAM/standby" \
 110                if ARCH_WANTS_FREEZER_CONTROL || BROKEN
 111        depends on SUSPEND
 112        default y
 113        help
 114          This allows you to turn off the freezer for suspend. If this is
 115          done, no tasks are frozen for suspend to RAM/standby.
 116
 117          Turning OFF this setting is NOT recommended! If in doubt, say Y.
 118
 119config HIBERNATION_NVS
 120        bool
 121
 122config HIBERNATION
 123        bool "Hibernation (aka 'suspend to disk')"
 124        depends on PM && SWAP && ARCH_HIBERNATION_POSSIBLE
 125        select HIBERNATION_NVS if HAS_IOMEM
 126        ---help---
 127          Enable the suspend to disk (STD) functionality, which is usually
 128          called "hibernation" in user interfaces.  STD checkpoints the
 129          system and powers it off; and restores that checkpoint on reboot.
 130
 131          You can suspend your machine with 'echo disk > /sys/power/state'
 132          after placing resume=/dev/swappartition on the kernel command line
 133          in your bootloader's configuration file.
 134
 135          Alternatively, you can use the additional userland tools available
 136          from <http://suspend.sf.net>.
 137
 138          In principle it does not require ACPI or APM, although for example
 139          ACPI will be used for the final steps when it is available.  One
 140          of the reasons to use software suspend is that the firmware hooks
 141          for suspend states like suspend-to-RAM (STR) often don't work very
 142          well with Linux.
 143
 144          It creates an image which is saved in your active swap. Upon the next
 145          boot, pass the 'resume=/dev/swappartition' argument to the kernel to
 146          have it detect the saved image, restore memory state from it, and
 147          continue to run as before. If you do not want the previous state to
 148          be reloaded, then use the 'noresume' kernel command line argument.
 149          Note, however, that fsck will be run on your filesystems and you will
 150          need to run mkswap against the swap partition used for the suspend.
 151
 152          It also works with swap files to a limited extent (for details see
 153          <file:Documentation/power/swsusp-and-swap-files.txt>).
 154
 155          Right now you may boot without resuming and resume later but in the
 156          meantime you cannot use the swap partition(s)/file(s) involved in
 157          suspending.  Also in this case you must not use the filesystems
 158          that were mounted before the suspend.  In particular, you MUST NOT
 159          MOUNT any journaled filesystems mounted before the suspend or they
 160          will get corrupted in a nasty way.
 161
 162          For more information take a look at <file:Documentation/power/swsusp.txt>.
 163
 164config PM_STD_PARTITION
 165        string "Default resume partition"
 166        depends on HIBERNATION
 167        default ""
 168        ---help---
 169          The default resume partition is the partition that the suspend-
 170          to-disk implementation will look for a suspended disk image. 
 171
 172          The partition specified here will be different for almost every user. 
 173          It should be a valid swap partition (at least for now) that is turned
 174          on before suspending. 
 175
 176          The partition specified can be overridden by specifying:
 177
 178                resume=/dev/<other device> 
 179
 180          which will set the resume partition to the device specified. 
 181
 182          Note there is currently not a way to specify which device to save the
 183          suspended image to. It will simply pick the first available swap 
 184          device.
 185
 186config APM_EMULATION
 187        tristate "Advanced Power Management Emulation"
 188        depends on PM && SYS_SUPPORTS_APM_EMULATION
 189        help
 190          APM is a BIOS specification for saving power using several different
 191          techniques. This is mostly useful for battery powered laptops with
 192          APM compliant BIOSes. If you say Y here, the system time will be
 193          reset after a RESUME operation, the /proc/apm device will provide
 194          battery status information, and user-space programs will receive
 195          notification of APM "events" (e.g. battery status change).
 196
 197          In order to use APM, you will need supporting software. For location
 198          and more information, read <file:Documentation/power/pm.txt> and the
 199          Battery Powered Linux mini-HOWTO, available from
 200          <http://www.tldp.org/docs.html#howto>.
 201
 202          This driver does not spin down disk drives (see the hdparm(8)
 203          manpage ("man 8 hdparm") for that), and it doesn't turn off
 204          VESA-compliant "green" monitors.
 205
 206          Generally, if you don't have a battery in your machine, there isn't
 207          much point in using this driver and you should say N. If you get
 208          random kernel OOPSes or reboots that don't seem to be related to
 209          anything, try disabling/enabling this option (or disabling/enabling
 210          APM in your BIOS).
 211
 212config PM_RUNTIME
 213        bool "Run-time PM core functionality"
 214        depends on PM
 215        ---help---
 216          Enable functionality allowing I/O devices to be put into energy-saving
 217          (low power) states at run time (or autosuspended) after a specified
 218          period of inactivity and woken up in response to a hardware-generated
 219          wake-up event or a driver's request.
 220
 221          Hardware support is generally required for this functionality to work
 222          and the bus type drivers of the buses the devices are on are
 223          responsible for the actual handling of the autosuspend requests and
 224          wake-up events.
 225