Blame view

kernel/power/Kconfig 7.72 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
  config PM
  	bool "Power Management support"
eb7b6b326   Len Brown   [ACPI] IA64-relat...
3
  	depends on !IA64_HP_SIM
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  	---help---
  	  "Power Management" means that parts of your computer are shut
  	  off or put into a power conserving "sleep" mode if they are not
  	  being used.  There are two competing standards for doing this: APM
  	  and ACPI.  If you want to use either one, say Y here and then also
  	  to the requisite support below.
  
  	  Power Management is most important for battery powered laptop
  	  computers; if you have a laptop, check out the Linux Laptop home
  	  page on the WWW at <http://www.linux-on-laptops.com/> or
  	  Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
  	  and the Battery Powered Linux mini-HOWTO, available from
  	  <http://www.tldp.org/docs.html#howto>.
  
  	  Note that, even if you say N here, Linux on the x86 architecture
  	  will issue the hlt instruction if nothing is to be done, thereby
  	  sending the processor to sleep and saving power.
  
  config PM_DEBUG
  	bool "Power Management Debug Support"
  	depends on PM
  	---help---
a0349828d   Ben Collins   PM: Do not requir...
26
27
28
29
30
31
32
33
34
35
  	This option enables various debugging support in the Power Management
  	code. This is helpful when debugging and reporting PM bugs, like
  	suspend support.
  
  config PM_VERBOSE
  	bool "Verbose Power Management debugging"
  	depends on PM_DEBUG
  	default n
  	---help---
  	This option enables verbose messages from the Power Management code.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
36

90dda1cb6   Johannes Berg   PM: Make PM_TRACE...
37
38
39
  config CAN_PM_TRACE
  	def_bool y
  	depends on PM_DEBUG && PM_SLEEP && EXPERIMENTAL
eb71c87a4   Linus Torvalds   Add some basic re...
40
  config PM_TRACE
90dda1cb6   Johannes Berg   PM: Make PM_TRACE...
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  	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
eb71c87a4   Linus Torvalds   Add some basic re...
56
  	bool "Suspend/resume event tracing"
90dda1cb6   Johannes Berg   PM: Make PM_TRACE...
57
58
59
  	depends on CAN_PM_TRACE
  	depends on X86
  	select PM_TRACE
5c31f2738   Andrew Morton   [PATCH] pm_trace ...
60
  	default n
eb71c87a4   Linus Torvalds   Add some basic re...
61
62
63
64
  	---help---
  	This enables some cheesy code to save the last PM event point in the
  	RTC across reboots, so that you can debug a machine that just hangs
  	during suspend (or more commonly, during resume).
23b168d42   Pavel Machek   PM: documentation...
65
66
  	To use this debugging feature you should attempt to suspend the
  	machine, reboot it and then run
5c31f2738   Andrew Morton   [PATCH] pm_trace ...
67
68
69
70
71
  
  		dmesg -s 1000000 | grep 'hash matches'
  
  	CAUTION: this option will cause your machine's real-time clock to be
  	set to an invalid time after a resume.
f3de4be9d   Rafael J. Wysocki   PM: Fix dependenc...
72
  config PM_SLEEP_SMP
296699de6   Rafael J. Wysocki   Introduce CONFIG_...
73
  	bool
801e4062f   Johannes Berg   Hibernation: Clea...
74
  	depends on SMP
f4cb57007   Johannes Berg   Suspend: Clean up...
75
  	depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
f3de4be9d   Rafael J. Wysocki   PM: Fix dependenc...
76
  	depends on PM_SLEEP
296699de6   Rafael J. Wysocki   Introduce CONFIG_...
77
78
79
80
81
  	select HOTPLUG_CPU
  	default y
  
  config PM_SLEEP
  	bool
93a0886e2   Jeremy Fitzhardinge   x86, xen, power: ...
82
  	depends on SUSPEND || HIBERNATION || XEN_SAVE_RESTORE
296699de6   Rafael J. Wysocki   Introduce CONFIG_...
83
84
85
86
  	default y
  
  config SUSPEND
  	bool "Suspend to RAM and standby"
f4cb57007   Johannes Berg   Suspend: Clean up...
87
  	depends on PM && ARCH_SUSPEND_POSSIBLE
296699de6   Rafael J. Wysocki   Introduce CONFIG_...
88
89
90
91
  	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
f4cb57007   Johannes Berg   Suspend: Clean up...
92
  	  suspend-to-RAM state (e.g. the ACPI S3 state).
296699de6   Rafael J. Wysocki   Introduce CONFIG_...
93

77437fd4e   David Brownell   pm: boot time sus...
94
95
  config PM_TEST_SUSPEND
  	bool "Test suspend/resume and wakealarm during bootup"
28959742c   Al Viro   PM_TEST_SUSPEND s...
96
  	depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
77437fd4e   David Brownell   pm: boot time sus...
97
98
99
100
101
102
103
  	---help---
  	This option will let you suspend your machine during bootup, and
  	make it wake up a few seconds later using an RTC wakeup alarm.
  	Enable this with a kernel parameter like "test_suspend=mem".
  
  	You probably want to have your system's RTC driver statically
  	linked, ensuring that it's available when this test runs.
b28f50811   Johannes Berg   Suspend: Add conf...
104
105
106
107
108
109
110
111
112
113
  config SUSPEND_FREEZER
  	bool "Enable freezer for suspend to RAM/standby" \
  		if ARCH_WANTS_FREEZER_CONTROL || BROKEN
  	depends on SUSPEND
  	default y
  	help
  	  This allows you to turn off the freezer for suspend. If this is
  	  done, no tasks are frozen for suspend to RAM/standby.
  
  	  Turning OFF this setting is NOT recommended! If in doubt, say Y.
fce2b111f   Cornelia Huck   PM/Hibernate: Mov...
114
115
  config HIBERNATION_NVS
  	bool
b0cb1a19d   Rafael J. Wysocki   Replace CONFIG_SO...
116
  config HIBERNATION
296699de6   Rafael J. Wysocki   Introduce CONFIG_...
117
  	bool "Hibernation (aka 'suspend to disk')"
801e4062f   Johannes Berg   Hibernation: Clea...
118
  	depends on PM && SWAP && ARCH_HIBERNATION_POSSIBLE
fce2b111f   Cornelia Huck   PM/Hibernate: Mov...
119
  	select HIBERNATION_NVS if HAS_IOMEM
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
120
  	---help---
a7ee2e5f5   David Brownell   kconfig: mention ...
121
122
123
  	  Enable the suspend to disk (STD) functionality, which is usually
  	  called "hibernation" in user interfaces.  STD checkpoints the
  	  system and powers it off; and restores that checkpoint on reboot.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
124

23b168d42   Pavel Machek   PM: documentation...
125
126
127
  	  You can suspend your machine with 'echo disk > /sys/power/state'
  	  after placing resume=/dev/swappartition on the kernel command line
  	  in your bootloader's configuration file.
c7276fde2   Rafael J. Wysocki   [PATCH] kconfig: ...
128
129
130
131
  	  Alternatively, you can use the additional userland tools available
  	  from <http://suspend.sf.net>.
  
  	  In principle it does not require ACPI or APM, although for example
a7ee2e5f5   David Brownell   kconfig: mention ...
132
133
134
135
  	  ACPI will be used for the final steps when it is available.  One
  	  of the reasons to use software suspend is that the firmware hooks
  	  for suspend states like suspend-to-RAM (STR) often don't work very
  	  well with Linux.
c7276fde2   Rafael J. Wysocki   [PATCH] kconfig: ...
136
137
  
  	  It creates an image which is saved in your active swap. Upon the next
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
138
139
140
  	  boot, pass the 'resume=/dev/swappartition' argument to the kernel to
  	  have it detect the saved image, restore memory state from it, and
  	  continue to run as before. If you do not want the previous state to
c7276fde2   Rafael J. Wysocki   [PATCH] kconfig: ...
141
142
143
  	  be reloaded, then use the 'noresume' kernel command line argument.
  	  Note, however, that fsck will be run on your filesystems and you will
  	  need to run mkswap against the swap partition used for the suspend.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
144

c7276fde2   Rafael J. Wysocki   [PATCH] kconfig: ...
145
146
  	  It also works with swap files to a limited extent (for details see
  	  <file:Documentation/power/swsusp-and-swap-files.txt>).
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
147

c7276fde2   Rafael J. Wysocki   [PATCH] kconfig: ...
148
149
150
151
152
153
  	  Right now you may boot without resuming and resume later but in the
  	  meantime you cannot use the swap partition(s)/file(s) involved in
  	  suspending.  Also in this case you must not use the filesystems
  	  that were mounted before the suspend.  In particular, you MUST NOT
  	  MOUNT any journaled filesystems mounted before the suspend or they
  	  will get corrupted in a nasty way.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
154

c7276fde2   Rafael J. Wysocki   [PATCH] kconfig: ...
155
  	  For more information take a look at <file:Documentation/power/swsusp.txt>.
471b40d0d   Pavel Machek   [PATCH] prevent s...
156

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
157
158
  config PM_STD_PARTITION
  	string "Default resume partition"
b0cb1a19d   Rafael J. Wysocki   Replace CONFIG_SO...
159
  	depends on HIBERNATION
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
  	default ""
  	---help---
  	  The default resume partition is the partition that the suspend-
  	  to-disk implementation will look for a suspended disk image. 
  
  	  The partition specified here will be different for almost every user. 
  	  It should be a valid swap partition (at least for now) that is turned
  	  on before suspending. 
  
  	  The partition specified can be overridden by specifying:
  
  		resume=/dev/<other device> 
  
  	  which will set the resume partition to the device specified. 
  
  	  Note there is currently not a way to specify which device to save the
  	  suspended image to. It will simply pick the first available swap 
  	  device.
7726942fb   Ralf Baechle   [APM] Add shared ...
178
179
180
181
182
183
184
185
186
187
188
189
  config APM_EMULATION
  	tristate "Advanced Power Management Emulation"
  	depends on PM && SYS_SUPPORTS_APM_EMULATION
  	help
  	  APM is a BIOS specification for saving power using several different
  	  techniques. This is mostly useful for battery powered laptops with
  	  APM compliant BIOSes. If you say Y here, the system time will be
  	  reset after a RESUME operation, the /proc/apm device will provide
  	  battery status information, and user-space programs will receive
  	  notification of APM "events" (e.g. battery status change).
  
  	  In order to use APM, you will need supporting software. For location
53471121a   Randy Dunlap   documentation: M...
190
  	  and more information, read <file:Documentation/power/pm.txt> and the
7726942fb   Ralf Baechle   [APM] Add shared ...
191
192
193
194
195
196
197
198
199
200
201
202
  	  Battery Powered Linux mini-HOWTO, available from
  	  <http://www.tldp.org/docs.html#howto>.
  
  	  This driver does not spin down disk drives (see the hdparm(8)
  	  manpage ("man 8 hdparm") for that), and it doesn't turn off
  	  VESA-compliant "green" monitors.
  
  	  Generally, if you don't have a battery in your machine, there isn't
  	  much point in using this driver and you should say N. If you get
  	  random kernel OOPSes or reboots that don't seem to be related to
  	  anything, try disabling/enabling this option (or disabling/enabling
  	  APM in your BIOS).