]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - drivers/acpi/Kconfig
[PATCH] suspend/resume SMP support
[mirror_ubuntu-bionic-kernel.git] / drivers / acpi / Kconfig
1 #
2 # ACPI Configuration
3 #
4
5 menu "ACPI (Advanced Configuration and Power Interface) Support"
6 depends on !X86_VISWS
7 depends on !IA64_HP_SIM
8 depends on IA64 || X86
9
10 config ACPI
11 bool "ACPI Support"
12 depends on IA64 || X86
13
14 default y
15 ---help---
16 Advanced Configuration and Power Interface (ACPI) support for
17 Linux requires an ACPI compliant platform (hardware/firmware),
18 and assumes the presence of OS-directed configuration and power
19 management (OSPM) software. This option will enlarge your
20 kernel by about 70K.
21
22 Linux ACPI provides a robust functional replacement for several
23 legacy configuration and power management interfaces, including
24 the Plug-and-Play BIOS specification (PnP BIOS), the
25 MultiProcessor Specification (MPS), and the Advanced Power
26 Management (APM) specification. If both ACPI and APM support
27 are configured, whichever is loaded first shall be used.
28
29 The ACPI SourceForge project contains the latest source code,
30 documentation, tools, mailing list subscription, and other
31 information. This project is available at:
32 <http://sourceforge.net/projects/acpi>
33
34 Linux support for ACPI is based on Intel Corporation's ACPI
35 Component Architecture (ACPI CA). For more information see:
36 <http://developer.intel.com/technology/iapc/acpi>
37
38 ACPI is an open industry specification co-developed by Compaq,
39 Intel, Microsoft, Phoenix, and Toshiba. The specification is
40 available at:
41 <http://www.acpi.info>
42
43 if ACPI
44
45 config ACPI_BOOT
46 bool
47 default y
48
49 config ACPI_INTERPRETER
50 bool
51 depends on !IA64_SGI_SN
52 default y
53
54 if ACPI_INTERPRETER
55
56 config ACPI_SLEEP
57 bool "Sleep States (EXPERIMENTAL)"
58 depends on X86 && (!SMP || SUSPEND_SMP)
59 depends on EXPERIMENTAL && PM
60 default y
61 ---help---
62 This option adds support for ACPI suspend states.
63
64 With this option, you will be able to put the system "to sleep".
65 Sleep states are low power states for the system and devices. All
66 of the system operating state is saved to either memory or disk
67 (depending on the state), to allow the system to resume operation
68 quickly at your request.
69
70 Although this option sounds really nifty, barely any of the device
71 drivers have been converted to the new driver model and hence few
72 have proper power management support.
73
74 This option is not recommended for anyone except those doing driver
75 power management development.
76
77 config ACPI_SLEEP_PROC_FS
78 bool
79 depends on ACPI_SLEEP && PROC_FS
80 default y
81
82 config ACPI_AC
83 tristate "AC Adapter"
84 depends on X86
85 default m
86 help
87 This driver adds support for the AC Adapter object, which indicates
88 whether a system is on AC, or not. Typically, only mobile systems
89 have this object, since desktops are always on AC.
90
91 config ACPI_BATTERY
92 tristate "Battery"
93 depends on X86
94 default m
95 help
96 This driver adds support for battery information through
97 /proc/acpi/battery. If you have a mobile system with a battery,
98 say Y.
99
100 config ACPI_BUTTON
101 tristate "Button"
102 depends on !IA64_SGI_SN
103 default m
104 help
105 This driver registers for events based on buttons, such as the
106 power, sleep, and lid switch. In the future, a daemon will read
107 /proc/acpi/event and perform user-defined actions such as shutting
108 down the system. Until then, you can cat it, and see output when
109 a button is pressed.
110
111 config ACPI_VIDEO
112 tristate "Video"
113 depends on EXPERIMENTAL
114 depends on !IA64_SGI_SN
115 default m
116 help
117 This driver implement the ACPI Extensions For Display Adapters
118 for integrated graphics devices on motherboard, as specified in
119 ACPI 2.0 Specification, Appendix B, allowing to perform some basic
120 control like defining the video POST device, retrieving EDID information
121 or to setup a video output, etc.
122 Note that this is an ref. implementation only. It may or may not work
123 for your integrated video device.
124
125 config ACPI_FAN
126 tristate "Fan"
127 depends on !IA64_SGI_SN
128 default m
129 help
130 This driver adds support for ACPI fan devices, allowing user-mode
131 applications to perform basic fan control (on, off, status).
132
133 config ACPI_PROCESSOR
134 tristate "Processor"
135 depends on !IA64_SGI_SN
136 default m
137 help
138 This driver installs ACPI as the idle handler for Linux, and uses
139 ACPI C2 and C3 processor states to save power, on systems that
140 support it.
141
142 config ACPI_HOTPLUG_CPU
143 bool "Processor Hotplug (EXPERIMENTAL)"
144 depends on ACPI_PROCESSOR && HOTPLUG_CPU && EXPERIMENTAL
145 depends on !IA64_SGI_SN
146 select ACPI_CONTAINER
147 default n
148 ---help---
149 Select this option if your platform support physical CPU hotplug.
150
151 config ACPI_THERMAL
152 tristate "Thermal Zone"
153 depends on ACPI_PROCESSOR
154 default m
155 help
156 This driver adds support for ACPI thermal zones. Most mobile and
157 some desktop systems support ACPI thermal zones. It is HIGHLY
158 recommended that this option be enabled, as your processor(s)
159 may be damaged without it.
160
161 config ACPI_NUMA
162 bool "NUMA support"
163 depends on NUMA
164 depends on (IA64 || X86_64)
165 default y if IA64_GENERIC || IA64_SGI_SN2
166
167 config ACPI_ASUS
168 tristate "ASUS/Medion Laptop Extras"
169 depends on X86
170 default m
171 ---help---
172 This driver provides support for extra features of ACPI-compatible
173 ASUS laptops. As some of Medion laptops are made by ASUS, it may also
174 support some Medion laptops (such as 9675 for example). It makes all
175 the extra buttons generate standard ACPI events that go through
176 /proc/acpi/events, and (on some models) adds support for changing the
177 display brightness and output, switching the LCD backlight on and off,
178 and most importantly, allows you to blink those fancy LEDs intended
179 for reporting mail and wireless status.
180
181 Note: display switching code is currently considered EXPERIMENTAL,
182 toying with these values may even lock your machine.
183
184 All settings are changed via /proc/acpi/asus directory entries. Owner
185 and group for these entries can be set with asus_uid and asus_gid
186 parameters.
187
188 More information and a userspace daemon for handling the extra buttons
189 at <http://sourceforge.net/projects/acpi4asus/>.
190
191 If you have an ACPI-compatible ASUS laptop, say Y or M here. This
192 driver is still under development, so if your laptop is unsupported or
193 something works not quite as expected, please use the mailing list
194 available on the above page (acpi4asus-user@lists.sourceforge.net)
195
196 config ACPI_IBM
197 tristate "IBM ThinkPad Laptop Extras"
198 depends on X86
199 default m
200 ---help---
201 This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
202 support for Fn-Fx key combinations, Bluetooth control, video
203 output switching, ThinkLight control, UltraBay eject and more.
204 For more information about this driver see <file:Documentation/ibm-acpi.txt>
205 and <http://ibm-acpi.sf.net/> .
206
207 If you have an IBM ThinkPad laptop, say Y or M here.
208
209 config ACPI_TOSHIBA
210 tristate "Toshiba Laptop Extras"
211 depends on X86
212 default m
213 ---help---
214 This driver adds support for access to certain system settings
215 on "legacy free" Toshiba laptops. These laptops can be recognized by
216 their lack of a BIOS setup menu and APM support.
217
218 On these machines, all system configuration is handled through the
219 ACPI. This driver is required for access to controls not covered
220 by the general ACPI drivers, such as LCD brightness, video output,
221 etc.
222
223 This driver differs from the non-ACPI Toshiba laptop driver (located
224 under "Processor type and features") in several aspects.
225 Configuration is accessed by reading and writing text files in the
226 /proc tree instead of by program interface to /dev. Furthermore, no
227 power management functions are exposed, as those are handled by the
228 general ACPI drivers.
229
230 More information about this driver is available at
231 <http://memebeam.org/toys/ToshibaAcpiDriver>.
232
233 If you have a legacy free Toshiba laptop (such as the Libretto L1
234 series), say Y.
235
236 config ACPI_CUSTOM_DSDT
237 bool "Include Custom DSDT"
238 depends on !STANDALONE
239 default n
240 help
241 Thist option is to load a custom ACPI DSDT
242 If you don't know what that is, say N.
243
244 config ACPI_CUSTOM_DSDT_FILE
245 string "Custom DSDT Table file to include"
246 depends on ACPI_CUSTOM_DSDT
247 default ""
248 help
249 Enter the full path name to the file wich includes the AmlCode declaration.
250
251 config ACPI_BLACKLIST_YEAR
252 int "Disable ACPI for systems before Jan 1st this year"
253 depends on ACPI_INTERPRETER
254 default 0
255 help
256 enter a 4-digit year, eg. 2001 to disable ACPI by default
257 on platforms with DMI BIOS date before January 1st that year.
258 "acpi=force" can be used to override this mechanism.
259
260 Enter 0 to disable this mechanism and allow ACPI to
261 run by default no matter what the year. (default)
262
263 config ACPI_DEBUG
264 bool "Debug Statements"
265 depends on !IA64_SGI_SN
266 default n
267 help
268 The ACPI driver can optionally report errors with a great deal
269 of verbosity. Saying Y enables these statements. This will increase
270 your kernel size by around 50K.
271
272 config ACPI_BUS
273 bool
274 depends on !IA64_SGI_SN
275 default y
276
277 config ACPI_EC
278 bool
279 depends on X86
280 default y
281 help
282 This driver is required on some systems for the proper operation of
283 the battery and thermal drivers. If you are compiling for a
284 mobile system, say Y.
285
286 config ACPI_POWER
287 bool
288 depends on !IA64_SGI_SN
289 default y
290
291 config ACPI_PCI
292 bool
293 depends on !IA64_SGI_SN
294 default PCI
295
296 config ACPI_SYSTEM
297 bool
298 depends on !IA64_SGI_SN
299 default y
300 help
301 This driver will enable your system to shut down using ACPI, and
302 dump your ACPI DSDT table using /proc/acpi/dsdt.
303
304 endif # ACPI_INTERPRETER
305
306 config X86_PM_TIMER
307 bool "Power Management Timer Support"
308 depends on X86
309 depends on ACPI_BOOT && EXPERIMENTAL
310 depends on !X86_64
311 default n
312 help
313 The Power Management Timer is available on all ACPI-capable,
314 in most cases even if ACPI is unusable or blacklisted.
315
316 This timing source is not affected by powermanagement features
317 like aggressive processor idling, throttling, frequency and/or
318 voltage scaling, unlike the commonly used Time Stamp Counter
319 (TSC) timing source.
320
321 So, if you see messages like 'Losing too many ticks!' in the
322 kernel logs, and/or you are using this on a notebook which
323 does not yet have an HPET, you should say "Y" here.
324
325 config ACPI_CONTAINER
326 tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
327 depends on EXPERIMENTAL
328 default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
329 ---help---
330 This is the ACPI generic container driver which supports
331 ACPI0004, PNP0A05 and PNP0A06 devices
332
333 config ACPI_HOTPLUG_MEMORY
334 tristate "Memory Hotplug"
335 depends on ACPI
336 depends on MEMORY_HOTPLUG
337 default n
338 help
339 This driver adds supports for ACPI Memory Hotplug. This driver
340 provides support for fielding notifications on ACPI memory
341 devices (PNP0C80) which represent memory ranges that may be
342 onlined or offlined during runtime.
343
344 Enabling this driver assumes that your platform hardware
345 and firmware have support for hot-plugging physical memory. If
346 your system does not support physically adding or ripping out
347 memory DIMMs at some platfrom defined granularity (individually
348 or as a bank) at runtime, then you need not enable this driver.
349
350 If one selects "m," this driver can be loaded using the following
351 command:
352 $>modprobe acpi_memhotplug
353 endif # ACPI
354
355 endmenu