blob: 325b4b5fa7dfa53e505439d3ea85e7fd6adcb6dc [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# ACPI Configuration
3#
4
Jan Engelhardt3f2c48c2007-07-03 01:40:59 -04005menuconfig ACPI
Frans Pop355ee5e2007-10-29 17:20:38 -04006 bool "ACPI (Advanced Configuration and Power Interface) Support"
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 depends on !IA64_HP_SIM
8 depends on IA64 || X86
Adrian Bunk13001242006-03-28 17:04:00 -05009 depends on PCI
Andrew Morton6796a122006-12-19 12:56:13 -080010 depends on PM
Len Brown243b66e2007-02-15 22:34:36 -050011 select PNP
Linus Torvalds1da177e2005-04-16 15:20:36 -070012 default y
13 ---help---
14 Advanced Configuration and Power Interface (ACPI) support for
15 Linux requires an ACPI compliant platform (hardware/firmware),
16 and assumes the presence of OS-directed configuration and power
17 management (OSPM) software. This option will enlarge your
18 kernel by about 70K.
19
20 Linux ACPI provides a robust functional replacement for several
21 legacy configuration and power management interfaces, including
22 the Plug-and-Play BIOS specification (PnP BIOS), the
23 MultiProcessor Specification (MPS), and the Advanced Power
24 Management (APM) specification. If both ACPI and APM support
25 are configured, whichever is loaded first shall be used.
26
27 The ACPI SourceForge project contains the latest source code,
28 documentation, tools, mailing list subscription, and other
29 information. This project is available at:
30 <http://sourceforge.net/projects/acpi>
31
32 Linux support for ACPI is based on Intel Corporation's ACPI
33 Component Architecture (ACPI CA). For more information see:
34 <http://developer.intel.com/technology/iapc/acpi>
35
36 ACPI is an open industry specification co-developed by Compaq,
37 Intel, Microsoft, Phoenix, and Toshiba. The specification is
38 available at:
39 <http://www.acpi.info>
40
Len Brown3e11c3c2005-05-27 04:53:27 -040041if ACPI
42
Len Brown673d5b42007-07-28 03:33:16 -040043config ACPI_SLEEP
44 bool
Rafael J. Wysocki5d1e0722008-10-22 14:58:43 -040045 depends on SUSPEND || HIBERNATION
Len Brown673d5b42007-07-28 03:33:16 -040046 default y
47
Zhang Ruib981c592007-01-29 11:02:30 +080048config ACPI_PROCFS
Len Brownfb804712007-07-24 01:50:46 -040049 bool "Deprecated /proc/acpi files"
50 depends on PROC_FS
Zhang Ruib981c592007-01-29 11:02:30 +080051 ---help---
Len Brownfb804712007-07-24 01:50:46 -040052 For backwards compatibility, this option allows
Rolf Eike Beer405bbe92007-10-20 03:10:57 +020053 deprecated /proc/acpi/ files to exist, even when
Len Brownfb804712007-07-24 01:50:46 -040054 they have been replaced by functions in /sys.
55 The deprecated files (and their replacements) include:
56
Len Brown43532c82007-07-24 02:16:50 -040057 /proc/acpi/sleep (/sys/power/state)
Len Brownfb804712007-07-24 01:50:46 -040058 /proc/acpi/info (/sys/modules/acpi/parameters/acpica_version)
59 /proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT)
60 /proc/acpi/fadt (/sys/firmware/acpi/tables/FACP)
61 /proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer)
62 /proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level)
63
64 This option has no effect on /proc/acpi/ files
65 and functions which do not yet exist in /sys.
66
67 Say N to delete /proc/acpi/ files that have moved to /sys/
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030068config ACPI_PROCFS_POWER
Alan Cox9e527972008-01-03 16:31:42 +000069 bool "Deprecated power /proc/acpi directories"
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030070 depends on PROC_FS
71 default y
72 ---help---
73 For backwards compatibility, this option allows
Alan Cox9e527972008-01-03 16:31:42 +000074 deprecated power /proc/acpi/ directories to exist, even when
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030075 they have been replaced by functions in /sys.
Alan Cox9e527972008-01-03 16:31:42 +000076 The deprecated directories (and their replacements) include:
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030077 /proc/acpi/battery/* (/sys/class/power_supply/*)
78 /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
Alan Cox9e527972008-01-03 16:31:42 +000079 This option has no effect on /proc/acpi/ directories
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030080 and functions, which do not yet exist in /sys
Zhang Ruib981c592007-01-29 11:02:30 +080081
Alan Cox9e527972008-01-03 16:31:42 +000082 Say N to delete power /proc/acpi/ directories that have moved to /sys/
83
Alexey Starikovskiy97749cd2008-01-01 14:27:24 -050084config ACPI_SYSFS_POWER
85 bool "Future power /sys interface"
86 select POWER_SUPPLY
87 default y
88 ---help---
89 Say N to disable power /sys interface
Alan Cox9e527972008-01-03 16:31:42 +000090
Len Brown14e04fb2007-08-23 15:20:26 -040091config ACPI_PROC_EVENT
92 bool "Deprecated /proc/acpi/event support"
93 depends on PROC_FS
Hugh Dickins721ebe02007-08-27 16:04:39 +010094 default y
Len Brown14e04fb2007-08-23 15:20:26 -040095 ---help---
96 A user-space daemon, acpi, typically read /proc/acpi/event
97 and handled all ACPI sub-system generated events.
98
99 These events are now delivered to user-space via
100 either the input layer, or as netlink events.
101
Hugh Dickins721ebe02007-08-27 16:04:39 +0100102 This build option enables the old code for legacy
Len Brown14e04fb2007-08-23 15:20:26 -0400103 user-space implementation. After some time, this will
104 be moved under CONFIG_ACPI_PROCFS, and then deleted.
105
Hugh Dickins721ebe02007-08-27 16:04:39 +0100106 Say Y here to retain the old behaviour. Say N if your
107 user-space is newer than kernel 2.6.23 (September 2007).
108
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109config ACPI_AC
110 tristate "AC Adapter"
Alexey Starikovskiy5527c8b2007-10-29 17:08:59 -0400111 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400112 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 help
114 This driver adds support for the AC Adapter object, which indicates
Len Brown07fefe42005-08-25 12:22:04 -0400115 whether a system is on AC, or not. If you have a system that can
116 switch between A/C and battery, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117
118config ACPI_BATTERY
119 tristate "Battery"
Alexey Starikovskiy5527c8b2007-10-29 17:08:59 -0400120 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400121 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122 help
123 This driver adds support for battery information through
124 /proc/acpi/battery. If you have a mobile system with a battery,
125 say Y.
126
127config ACPI_BUTTON
128 tristate "Button"
Dmitry Torokhovc0968f02006-11-09 00:40:13 -0500129 depends on INPUT
Len Brown07fefe42005-08-25 12:22:04 -0400130 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131 help
Len Brown07fefe42005-08-25 12:22:04 -0400132 This driver handles events on the power, sleep and lid buttons.
133 A daemon reads /proc/acpi/event and perform user-defined actions
134 such as shutting down the system. This is necessary for
135 software controlled poweroff.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136
137config ACPI_VIDEO
138 tristate "Video"
Luming Yu23b0f012007-05-09 21:07:05 +0800139 depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
Andreas Herrmann03e2bf22007-09-17 23:41:05 +0200140 depends on INPUT
Zhang Rui63c4ec92008-04-21 16:07:13 +0800141 select THERMAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700142 help
143 This driver implement the ACPI Extensions For Display Adapters
144 for integrated graphics devices on motherboard, as specified in
145 ACPI 2.0 Specification, Appendix B, allowing to perform some basic
146 control like defining the video POST device, retrieving EDID information
147 or to setup a video output, etc.
148 Note that this is an ref. implementation only. It may or may not work
149 for your integrated video device.
150
151config ACPI_FAN
152 tristate "Fan"
Zhang Rui63c4ec92008-04-21 16:07:13 +0800153 select THERMAL
Len Brown07fefe42005-08-25 12:22:04 -0400154 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155 help
156 This driver adds support for ACPI fan devices, allowing user-mode
157 applications to perform basic fan control (on, off, status).
158
Len Brownc8f7a622006-07-09 17:22:28 -0400159config ACPI_DOCK
160 tristate "Dock"
Len Brown8d7bff62006-07-09 22:09:57 -0400161 depends on EXPERIMENTAL
Len Brownc8f7a622006-07-09 17:22:28 -0400162 help
163 This driver adds support for ACPI controlled docking stations
164
Kristen Carlson Accardi01b57e72006-10-20 14:30:25 -0700165config ACPI_BAY
Len Brown0ed1e382007-02-02 22:39:16 -0500166 tristate "Removable Drive Bay (EXPERIMENTAL)"
Kristen Carlson Accardi01b57e72006-10-20 14:30:25 -0700167 depends on EXPERIMENTAL
Kristen Carlson Accardib1a316f2007-02-28 20:13:17 -0800168 depends on ACPI_DOCK
Kristen Carlson Accardi01b57e72006-10-20 14:30:25 -0700169 help
170 This driver adds support for ACPI controlled removable drive
171 bays such as the IBM ultrabay or the Dell Module Bay.
172
Linus Torvalds1da177e2005-04-16 15:20:36 -0700173config ACPI_PROCESSOR
174 tristate "Processor"
Zhang Rui63c4ec92008-04-21 16:07:13 +0800175 select THERMAL
Len Brown07fefe42005-08-25 12:22:04 -0400176 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177 help
178 This driver installs ACPI as the idle handler for Linux, and uses
179 ACPI C2 and C3 processor states to save power, on systems that
Len Brown07fefe42005-08-25 12:22:04 -0400180 support it. It is required by several flavors of cpufreq
181 Performance-state drivers.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182
183config ACPI_HOTPLUG_CPU
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400184 bool
185 depends on ACPI_PROCESSOR && HOTPLUG_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186 select ACPI_CONTAINER
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400187 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188
189config ACPI_THERMAL
190 tristate "Thermal Zone"
191 depends on ACPI_PROCESSOR
Zhang Rui3f655ef2008-01-17 15:51:11 +0800192 select THERMAL
Len Brown07fefe42005-08-25 12:22:04 -0400193 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700194 help
195 This driver adds support for ACPI thermal zones. Most mobile and
196 some desktop systems support ACPI thermal zones. It is HIGHLY
197 recommended that this option be enabled, as your processor(s)
198 may be damaged without it.
199
200config ACPI_NUMA
201 bool "NUMA support"
202 depends on NUMA
Yasunori Goto762834e2006-06-23 02:03:19 -0700203 depends on (X86 || IA64)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204 default y if IA64_GENERIC || IA64_SGI_SN2
205
Carlos Corbachobff431e2008-02-05 02:17:04 +0000206config ACPI_WMI
207 tristate "WMI (EXPERIMENTAL)"
Len Brown9c2f7de2008-02-07 16:18:24 -0500208 depends on X86
Carlos Corbachobff431e2008-02-05 02:17:04 +0000209 depends on EXPERIMENTAL
210 help
Carlos Corbacho20b45142008-02-08 00:36:49 -0500211 This driver adds support for the ACPI-WMI (Windows Management
212 Instrumentation) mapper device (PNP0C14) found on some systems.
Carlos Corbachobff431e2008-02-05 02:17:04 +0000213
Carlos Corbacho20b45142008-02-08 00:36:49 -0500214 ACPI-WMI is a proprietary extension to ACPI to expose parts of the
215 ACPI firmware to userspace - this is done through various vendor
216 defined methods and data blocks in a PNP0C14 device, which are then
217 made available for userspace to call.
218
219 The implementation of this in Linux currently only exposes this to
220 other kernel space drivers.
221
222 This driver is a required dependency to build the firmware specific
223 drivers needed on many machines, including Acer and HP laptops.
224
225 It is safe to enable this driver even if your DSDT doesn't define
226 any ACPI-WMI devices.
Carlos Corbachobff431e2008-02-05 02:17:04 +0000227
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228config ACPI_ASUS
229 tristate "ASUS/Medion Laptop Extras"
230 depends on X86
Holger Macht2039a6e2006-10-20 14:30:29 -0700231 select BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232 ---help---
233 This driver provides support for extra features of ACPI-compatible
234 ASUS laptops. As some of Medion laptops are made by ASUS, it may also
235 support some Medion laptops (such as 9675 for example). It makes all
236 the extra buttons generate standard ACPI events that go through
237 /proc/acpi/events, and (on some models) adds support for changing the
238 display brightness and output, switching the LCD backlight on and off,
239 and most importantly, allows you to blink those fancy LEDs intended
240 for reporting mail and wireless status.
241
242 Note: display switching code is currently considered EXPERIMENTAL,
243 toying with these values may even lock your machine.
Corentin Chary85091b72007-01-26 14:04:30 +0100244
Linus Torvalds1da177e2005-04-16 15:20:36 -0700245 All settings are changed via /proc/acpi/asus directory entries. Owner
246 and group for these entries can be set with asus_uid and asus_gid
247 parameters.
Corentin Chary85091b72007-01-26 14:04:30 +0100248
Linus Torvalds1da177e2005-04-16 15:20:36 -0700249 More information and a userspace daemon for handling the extra buttons
250 at <http://sourceforge.net/projects/acpi4asus/>.
Corentin Chary85091b72007-01-26 14:04:30 +0100251
Linus Torvalds1da177e2005-04-16 15:20:36 -0700252 If you have an ACPI-compatible ASUS laptop, say Y or M here. This
253 driver is still under development, so if your laptop is unsupported or
254 something works not quite as expected, please use the mailing list
Corentin Chary85091b72007-01-26 14:04:30 +0100255 available on the above page (acpi4asus-user@lists.sourceforge.net).
256
257 NOTE: This driver is deprecated and will probably be removed soon,
258 use asus-laptop instead.
259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700260config ACPI_TOSHIBA
261 tristate "Toshiba Laptop Extras"
Randy Dunlapb3cef8f2008-09-19 14:06:59 -0700262 depends on X86 && INPUT
Holger Machtc9263552006-10-20 14:30:29 -0700263 select BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264 ---help---
265 This driver adds support for access to certain system settings
266 on "legacy free" Toshiba laptops. These laptops can be recognized by
267 their lack of a BIOS setup menu and APM support.
268
269 On these machines, all system configuration is handled through the
270 ACPI. This driver is required for access to controls not covered
271 by the general ACPI drivers, such as LCD brightness, video output,
272 etc.
273
274 This driver differs from the non-ACPI Toshiba laptop driver (located
275 under "Processor type and features") in several aspects.
276 Configuration is accessed by reading and writing text files in the
277 /proc tree instead of by program interface to /dev. Furthermore, no
278 power management functions are exposed, as those are handled by the
279 general ACPI drivers.
280
281 More information about this driver is available at
282 <http://memebeam.org/toys/ToshibaAcpiDriver>.
283
284 If you have a legacy free Toshiba laptop (such as the Libretto L1
285 series), say Y.
286
Randy Dunlap7ce95732008-02-22 11:25:04 -0800287config ACPI_CUSTOM_DSDT_FILE
288 string "Custom DSDT Table file to include"
289 default ""
Linus Torvalds1da177e2005-04-16 15:20:36 -0700290 depends on !STANDALONE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700291 help
Len Brownd89e9d62008-02-06 19:28:02 -0500292 This option supports a custom DSDT by linking it into the kernel.
293 See Documentation/acpi/dsdt-override.txt
294
Uwe Zeisbergerc30fe7f2006-03-24 18:23:14 +0100295 Enter the full path name to the file which includes the AmlCode
296 declaration.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700297
Randy Dunlap7ce95732008-02-22 11:25:04 -0800298 If unsure, don't enter a file name.
299
300config ACPI_CUSTOM_DSDT
301 bool
302 default ACPI_CUSTOM_DSDT_FILE != ""
303
Linus Torvalds1da177e2005-04-16 15:20:36 -0700304config ACPI_BLACKLIST_YEAR
Andi Kleen2eb1bdb2006-02-26 04:18:43 +0100305 int "Disable ACPI for systems before Jan 1st this year" if X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700306 default 0
307 help
308 enter a 4-digit year, eg. 2001 to disable ACPI by default
309 on platforms with DMI BIOS date before January 1st that year.
310 "acpi=force" can be used to override this mechanism.
311
312 Enter 0 to disable this mechanism and allow ACPI to
313 run by default no matter what the year. (default)
314
315config ACPI_DEBUG
316 bool "Debug Statements"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700317 default n
318 help
319 The ACPI driver can optionally report errors with a great deal
320 of verbosity. Saying Y enables these statements. This will increase
321 your kernel size by around 50K.
322
Thomas Renninger798d91032007-05-31 17:20:39 +0200323config ACPI_DEBUG_FUNC_TRACE
324 bool "Additionally enable ACPI function tracing"
325 default n
326 depends on ACPI_DEBUG
327 help
328 ACPI Debug Statements slow down ACPI processing. Function trace
329 is about half of the penalty and is rarely useful.
330
Linus Torvalds1da177e2005-04-16 15:20:36 -0700331config ACPI_EC
332 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700333 default y
334 help
335 This driver is required on some systems for the proper operation of
336 the battery and thermal drivers. If you are compiling for a
337 mobile system, say Y.
338
Alex Chiang8344b562008-06-10 15:30:42 -0600339config ACPI_PCI_SLOT
340 tristate "PCI slot detection driver"
341 default n
342 help
343 This driver will attempt to discover all PCI slots in your system,
344 and creates entries in /sys/bus/pci/slots/. This feature can
345 help you correlate PCI bus addresses with the physical geography
346 of your slots. If you are unsure, say N.
347
Linus Torvalds1da177e2005-04-16 15:20:36 -0700348config ACPI_POWER
349 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700350 default y
351
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352config ACPI_SYSTEM
353 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700354 default y
355 help
356 This driver will enable your system to shut down using ACPI, and
357 dump your ACPI DSDT table using /proc/acpi/dsdt.
358
Linus Torvalds1da177e2005-04-16 15:20:36 -0700359config X86_PM_TIMER
Andi Kleene78256b2006-02-26 04:18:37 +0100360 bool "Power Management Timer Support" if EMBEDDED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700361 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400362 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363 help
364 The Power Management Timer is available on all ACPI-capable,
365 in most cases even if ACPI is unusable or blacklisted.
366
Matt LaPlantec73a6682006-10-03 22:24:43 +0200367 This timing source is not affected by power management features
Linus Torvalds1da177e2005-04-16 15:20:36 -0700368 like aggressive processor idling, throttling, frequency and/or
369 voltage scaling, unlike the commonly used Time Stamp Counter
370 (TSC) timing source.
371
Andi Kleene78256b2006-02-26 04:18:37 +0100372 You should nearly always say Y here because many modern
373 systems require this timer.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700374
375config ACPI_CONTAINER
376 tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
377 depends on EXPERIMENTAL
378 default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
379 ---help---
Keiichiro Tokunaga45b1b192005-03-02 00:00:00 -0500380 This allows _physical_ insertion and removal of CPUs and memory.
381 This can be useful, for example, on NUMA machines that support
382 ACPI based physical hotplug of nodes, or non-NUMA machines that
383 support physical cpu/memory hot-plug.
384
385 If one selects "m", this driver can be loaded with
386 "modprobe acpi_container".
Linus Torvalds1da177e2005-04-16 15:20:36 -0700387
388config ACPI_HOTPLUG_MEMORY
389 tristate "Memory Hotplug"
Yasunori Gotobc02af92006-06-27 02:53:30 -0700390 depends on MEMORY_HOTPLUG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700391 default n
392 help
393 This driver adds supports for ACPI Memory Hotplug. This driver
394 provides support for fielding notifications on ACPI memory
395 devices (PNP0C80) which represent memory ranges that may be
396 onlined or offlined during runtime.
397
398 Enabling this driver assumes that your platform hardware
399 and firmware have support for hot-plugging physical memory. If
400 your system does not support physically adding or ripping out
Matt LaPlantec73a6682006-10-03 22:24:43 +0200401 memory DIMMs at some platform defined granularity (individually
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402 or as a bank) at runtime, then you need not enable this driver.
403
404 If one selects "m," this driver can be loaded using the following
405 command:
406 $>modprobe acpi_memhotplug
Rich Townsend3f86b832006-07-01 11:36:54 -0400407
408config ACPI_SBS
Alexey Starikovskiy94f6c082007-09-26 19:43:48 +0400409 tristate "Smart Battery System"
Vladimir Lebedevb4150fc2007-03-19 17:45:50 +0300410 depends on X86
Rich Townsend3f86b832006-07-01 11:36:54 -0400411 help
Alexey Starikovskiy94f6c082007-09-26 19:43:48 +0400412 This driver adds support for the Smart Battery System, another
413 type of access to battery information, found on some laptops.
Rich Townsend3f86b832006-07-01 11:36:54 -0400414
Linus Torvalds1da177e2005-04-16 15:20:36 -0700415endif # ACPI