xref: /linux/kernel/power/Kconfig (revision 29e7ee378e2327c808ede66dec4d4d964f4d375f)
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_LEGACY
23	bool "Legacy Power Management API (DEPRECATED)"
24	depends on PM
25	default n
26	---help---
27	   Support for pm_register() and friends.  This old API is obsoleted
28	   by the driver model.
29
30	   If unsure, say N.
31
32config PM_DEBUG
33	bool "Power Management Debug Support"
34	depends on PM
35	---help---
36	This option enables verbose debugging support in the Power Management
37	code. This is helpful when debugging and reporting various PM bugs,
38	like suspend support.
39
40config DISABLE_CONSOLE_SUSPEND
41	bool "Keep console(s) enabled during suspend/resume (DANGEROUS)"
42	depends on PM && PM_DEBUG
43	default n
44	---help---
45	This option turns off the console suspend mechanism that prevents
46	debug messages from reaching the console during the suspend/resume
47	operations.  This may be helpful when debugging device drivers'
48	suspend/resume routines, but may itself lead to problems, for example
49	if netconsole is used.
50
51config PM_TRACE
52	bool "Suspend/resume event tracing"
53	depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL
54	default n
55	---help---
56	This enables some cheesy code to save the last PM event point in the
57	RTC across reboots, so that you can debug a machine that just hangs
58	during suspend (or more commonly, during resume).
59
60	To use this debugging feature you should attempt to suspend the machine,
61	then reboot it, then run
62
63		dmesg -s 1000000 | grep 'hash matches'
64
65	CAUTION: this option will cause your machine's real-time clock to be
66	set to an invalid time after a resume.
67
68config SOFTWARE_SUSPEND
69	bool "Software Suspend (Hibernation)"
70	depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
71	---help---
72	  Enable the suspend to disk (STD) functionality, which is usually
73	  called "hibernation" in user interfaces.  STD checkpoints the
74	  system and powers it off; and restores that checkpoint on reboot.
75
76	  You can suspend your machine with 'echo disk > /sys/power/state'.
77	  Alternatively, you can use the additional userland tools available
78	  from <http://suspend.sf.net>.
79
80	  In principle it does not require ACPI or APM, although for example
81	  ACPI will be used for the final steps when it is available.  One
82	  of the reasons to use software suspend is that the firmware hooks
83	  for suspend states like suspend-to-RAM (STR) often don't work very
84	  well with Linux.
85
86	  It creates an image which is saved in your active swap. Upon the next
87	  boot, pass the 'resume=/dev/swappartition' argument to the kernel to
88	  have it detect the saved image, restore memory state from it, and
89	  continue to run as before. If you do not want the previous state to
90	  be reloaded, then use the 'noresume' kernel command line argument.
91	  Note, however, that fsck will be run on your filesystems and you will
92	  need to run mkswap against the swap partition used for the suspend.
93
94	  It also works with swap files to a limited extent (for details see
95	  <file:Documentation/power/swsusp-and-swap-files.txt>).
96
97	  Right now you may boot without resuming and resume later but in the
98	  meantime you cannot use the swap partition(s)/file(s) involved in
99	  suspending.  Also in this case you must not use the filesystems
100	  that were mounted before the suspend.  In particular, you MUST NOT
101	  MOUNT any journaled filesystems mounted before the suspend or they
102	  will get corrupted in a nasty way.
103
104	  For more information take a look at <file:Documentation/power/swsusp.txt>.
105
106config PM_STD_PARTITION
107	string "Default resume partition"
108	depends on SOFTWARE_SUSPEND
109	default ""
110	---help---
111	  The default resume partition is the partition that the suspend-
112	  to-disk implementation will look for a suspended disk image.
113
114	  The partition specified here will be different for almost every user.
115	  It should be a valid swap partition (at least for now) that is turned
116	  on before suspending.
117
118	  The partition specified can be overridden by specifying:
119
120		resume=/dev/<other device>
121
122	  which will set the resume partition to the device specified.
123
124	  Note there is currently not a way to specify which device to save the
125	  suspended image to. It will simply pick the first available swap
126	  device.
127
128config SUSPEND_SMP
129	bool
130	depends on HOTPLUG_CPU && (X86 || PPC64) && PM
131	default y
132
133config APM_EMULATION
134	tristate "Advanced Power Management Emulation"
135	depends on PM && SYS_SUPPORTS_APM_EMULATION
136	help
137	  APM is a BIOS specification for saving power using several different
138	  techniques. This is mostly useful for battery powered laptops with
139	  APM compliant BIOSes. If you say Y here, the system time will be
140	  reset after a RESUME operation, the /proc/apm device will provide
141	  battery status information, and user-space programs will receive
142	  notification of APM "events" (e.g. battery status change).
143
144	  In order to use APM, you will need supporting software. For location
145	  and more information, read <file:Documentation/pm.txt> and the
146	  Battery Powered Linux mini-HOWTO, available from
147	  <http://www.tldp.org/docs.html#howto>.
148
149	  This driver does not spin down disk drives (see the hdparm(8)
150	  manpage ("man 8 hdparm") for that), and it doesn't turn off
151	  VESA-compliant "green" monitors.
152
153	  Generally, if you don't have a battery in your machine, there isn't
154	  much point in using this driver and you should say N. If you get
155	  random kernel OOPSes or reboots that don't seem to be related to
156	  anything, try disabling/enabling this option (or disabling/enabling
157	  APM in your BIOS).
158