2 bool "Power Management support"
3 depends on !IA64_HP_SIM
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.
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>.
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.
23 bool "Power Management Debug Support"
26 This option enables various debugging support in the Power Management
27 code. This is helpful when debugging and reporting PM bugs, like
31 bool "Verbose Power Management debugging"
35 This option enables verbose messages from the Power Management code.
39 depends on PM_DEBUG && PM_SLEEP && EXPERIMENTAL
42 bool "Power Management Trace Support"
45 This enables code to save the last PM event point across
46 reboot. The architecture needs to support this, x86 for
47 example does by saving things in the RTC, see below.
49 The architecture specific code must provide the extern
50 functions from <linux/resume-trace.h> as well as the
51 <asm/resume-trace.h> header with a TRACE_RESUME() macro.
53 The way the information is presented is architecture-
54 dependent, x86 will print the information during a
58 bool "Suspend/resume event tracing"
59 depends on CAN_PM_TRACE
64 This enables some cheesy code to save the last PM event point in the
65 RTC across reboots, so that you can debug a machine that just hangs
66 during suspend (or more commonly, during resume).
68 To use this debugging feature you should attempt to suspend the
69 machine, reboot it and then run
71 dmesg -s 1000000 | grep 'hash matches'
73 CAUTION: this option will cause your machine's real-time clock to be
74 set to an invalid time after a resume.
79 depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
86 depends on SUSPEND || HIBERNATION || XEN_SAVE_RESTORE
90 bool "Suspend to RAM and standby"
91 depends on PM && ARCH_SUSPEND_POSSIBLE
94 Allow the system to enter sleep states in which main memory is
95 powered and thus its contents are preserved, such as the
96 suspend-to-RAM state (e.g. the ACPI S3 state).
98 config PM_TEST_SUSPEND
99 bool "Test suspend/resume and wakealarm during bootup"
100 depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
102 This option will let you suspend your machine during bootup, and
103 make it wake up a few seconds later using an RTC wakeup alarm.
104 Enable this with a kernel parameter like "test_suspend=mem".
106 You probably want to have your system's RTC driver statically
107 linked, ensuring that it's available when this test runs.
109 config SUSPEND_FREEZER
110 bool "Enable freezer for suspend to RAM/standby" \
111 if ARCH_WANTS_FREEZER_CONTROL || BROKEN
115 This allows you to turn off the freezer for suspend. If this is
116 done, no tasks are frozen for suspend to RAM/standby.
118 Turning OFF this setting is NOT recommended! If in doubt, say Y.
120 config HIBERNATION_NVS
126 config HAS_EARLYSUSPEND
131 depends on PM && RTC_CLASS
135 Enable wakelocks. When user space request a sleep state the
136 sleep request will be delayed until no wake locks are held.
139 bool "Wake lock stats"
143 Report wake lock stats in /proc/wakelocks
146 bool "Userspace wake locks"
150 User-space wake lock api. Write "lockname" or "lockname timeout"
151 to /sys/power/wake_lock lock and if needed create a wake lock.
152 Write "lockname" to /sys/power/wake_unlock to unlock a user wake
159 select HAS_EARLYSUSPEND
161 Call early suspend handlers when the user requested sleep state
165 prompt "User-space screen access"
166 default FB_EARLYSUSPEND if !FRAMEBUFFER_CONSOLE
167 default CONSOLE_EARLYSUSPEND
168 depends on HAS_EARLYSUSPEND
170 config NO_USER_SPACE_SCREEN_ACCESS_CONTROL
173 config CONSOLE_EARLYSUSPEND
174 bool "Console switch on early-suspend"
175 depends on HAS_EARLYSUSPEND && VT
177 Register early suspend handler to perform a console switch to
178 when user-space should stop drawing to the screen and a switch
179 back when it should resume.
181 config FB_EARLYSUSPEND
182 bool "Sysfs interface"
183 depends on HAS_EARLYSUSPEND
185 Register early suspend handler that notifies and waits for
186 user-space through sysfs when user-space should stop drawing
187 to the screen and notifies user-space when it should resume.
191 bool "Hibernation (aka 'suspend to disk')"
192 depends on PM && SWAP && ARCH_HIBERNATION_POSSIBLE
193 select HIBERNATION_NVS if HAS_IOMEM
195 Enable the suspend to disk (STD) functionality, which is usually
196 called "hibernation" in user interfaces. STD checkpoints the
197 system and powers it off; and restores that checkpoint on reboot.
199 You can suspend your machine with 'echo disk > /sys/power/state'
200 after placing resume=/dev/swappartition on the kernel command line
201 in your bootloader's configuration file.
203 Alternatively, you can use the additional userland tools available
204 from <http://suspend.sf.net>.
206 In principle it does not require ACPI or APM, although for example
207 ACPI will be used for the final steps when it is available. One
208 of the reasons to use software suspend is that the firmware hooks
209 for suspend states like suspend-to-RAM (STR) often don't work very
212 It creates an image which is saved in your active swap. Upon the next
213 boot, pass the 'resume=/dev/swappartition' argument to the kernel to
214 have it detect the saved image, restore memory state from it, and
215 continue to run as before. If you do not want the previous state to
216 be reloaded, then use the 'noresume' kernel command line argument.
217 Note, however, that fsck will be run on your filesystems and you will
218 need to run mkswap against the swap partition used for the suspend.
220 It also works with swap files to a limited extent (for details see
221 <file:Documentation/power/swsusp-and-swap-files.txt>).
223 Right now you may boot without resuming and resume later but in the
224 meantime you cannot use the swap partition(s)/file(s) involved in
225 suspending. Also in this case you must not use the filesystems
226 that were mounted before the suspend. In particular, you MUST NOT
227 MOUNT any journaled filesystems mounted before the suspend or they
228 will get corrupted in a nasty way.
230 For more information take a look at <file:Documentation/power/swsusp.txt>.
232 config PM_STD_PARTITION
233 string "Default resume partition"
234 depends on HIBERNATION
237 The default resume partition is the partition that the suspend-
238 to-disk implementation will look for a suspended disk image.
240 The partition specified here will be different for almost every user.
241 It should be a valid swap partition (at least for now) that is turned
242 on before suspending.
244 The partition specified can be overridden by specifying:
246 resume=/dev/<other device>
248 which will set the resume partition to the device specified.
250 Note there is currently not a way to specify which device to save the
251 suspended image to. It will simply pick the first available swap
255 tristate "Advanced Power Management Emulation"
256 depends on PM && SYS_SUPPORTS_APM_EMULATION
258 APM is a BIOS specification for saving power using several different
259 techniques. This is mostly useful for battery powered laptops with
260 APM compliant BIOSes. If you say Y here, the system time will be
261 reset after a RESUME operation, the /proc/apm device will provide
262 battery status information, and user-space programs will receive
263 notification of APM "events" (e.g. battery status change).
265 In order to use APM, you will need supporting software. For location
266 and more information, read <file:Documentation/power/pm.txt> and the
267 Battery Powered Linux mini-HOWTO, available from
268 <http://www.tldp.org/docs.html#howto>.
270 This driver does not spin down disk drives (see the hdparm(8)
271 manpage ("man 8 hdparm") for that), and it doesn't turn off
272 VESA-compliant "green" monitors.
274 Generally, if you don't have a battery in your machine, there isn't
275 much point in using this driver and you should say N. If you get
276 random kernel OOPSes or reboots that don't seem to be related to
277 anything, try disabling/enabling this option (or disabling/enabling
281 bool "Run-time PM core functionality"
284 Enable functionality allowing I/O devices to be put into energy-saving
285 (low power) states at run time (or autosuspended) after a specified
286 period of inactivity and woken up in response to a hardware-generated
287 wake-up event or a driver's request.
289 Hardware support is generally required for this functionality to work
290 and the bus type drivers of the buses the devices are on are
291 responsible for the actual handling of the autosuspend requests and