blob: b4f5e85428294eed21bb8f342af5a7a7c3fac87b [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"
Len Browndb5034222007-02-02 21:05:04 -05007 depends on !X86_NUMAQ
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 depends on !X86_VISWS
9 depends on !IA64_HP_SIM
10 depends on IA64 || X86
Adrian Bunk13001242006-03-28 17:04:00 -050011 depends on PCI
Andrew Morton6796a122006-12-19 12:56:13 -080012 depends on PM
Len Brown243b66e2007-02-15 22:34:36 -050013 select PNP
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 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
Len Brown3e11c3c2005-05-27 04:53:27 -040043if ACPI
44
Len Brown673d5b42007-07-28 03:33:16 -040045config ACPI_SLEEP
46 bool
47 depends on PM_SLEEP
48 default y
49
Zhang Ruib981c592007-01-29 11:02:30 +080050config ACPI_PROCFS
Len Brownfb804712007-07-24 01:50:46 -040051 bool "Deprecated /proc/acpi files"
52 depends on PROC_FS
Zhang Ruib981c592007-01-29 11:02:30 +080053 ---help---
Len Brownfb804712007-07-24 01:50:46 -040054 For backwards compatibility, this option allows
Rolf Eike Beer405bbe92007-10-20 03:10:57 +020055 deprecated /proc/acpi/ files to exist, even when
Len Brownfb804712007-07-24 01:50:46 -040056 they have been replaced by functions in /sys.
57 The deprecated files (and their replacements) include:
58
Len Brown43532c82007-07-24 02:16:50 -040059 /proc/acpi/sleep (/sys/power/state)
Len Brownfb804712007-07-24 01:50:46 -040060 /proc/acpi/info (/sys/modules/acpi/parameters/acpica_version)
61 /proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT)
62 /proc/acpi/fadt (/sys/firmware/acpi/tables/FACP)
63 /proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer)
64 /proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level)
65
66 This option has no effect on /proc/acpi/ files
67 and functions which do not yet exist in /sys.
68
69 Say N to delete /proc/acpi/ files that have moved to /sys/
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030070config ACPI_PROCFS_POWER
Alan Cox9e527972008-01-03 16:31:42 +000071 bool "Deprecated power /proc/acpi directories"
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030072 depends on PROC_FS
73 default y
74 ---help---
75 For backwards compatibility, this option allows
Alan Cox9e527972008-01-03 16:31:42 +000076 deprecated power /proc/acpi/ directories to exist, even when
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030077 they have been replaced by functions in /sys.
Alan Cox9e527972008-01-03 16:31:42 +000078 The deprecated directories (and their replacements) include:
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030079 /proc/acpi/battery/* (/sys/class/power_supply/*)
80 /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
Alan Cox9e527972008-01-03 16:31:42 +000081 This option has no effect on /proc/acpi/ directories
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030082 and functions, which do not yet exist in /sys
Zhang Ruib981c592007-01-29 11:02:30 +080083
Alan Cox9e527972008-01-03 16:31:42 +000084 Say N to delete power /proc/acpi/ directories that have moved to /sys/
85
Alexey Starikovskiy97749cd2008-01-01 14:27:24 -050086config ACPI_SYSFS_POWER
87 bool "Future power /sys interface"
88 select POWER_SUPPLY
89 default y
90 ---help---
91 Say N to disable power /sys interface
Alan Cox9e527972008-01-03 16:31:42 +000092
Len Brown14e04fb2007-08-23 15:20:26 -040093config ACPI_PROC_EVENT
94 bool "Deprecated /proc/acpi/event support"
95 depends on PROC_FS
Hugh Dickins721ebe02007-08-27 16:04:39 +010096 default y
Len Brown14e04fb2007-08-23 15:20:26 -040097 ---help---
98 A user-space daemon, acpi, typically read /proc/acpi/event
99 and handled all ACPI sub-system generated events.
100
101 These events are now delivered to user-space via
102 either the input layer, or as netlink events.
103
Hugh Dickins721ebe02007-08-27 16:04:39 +0100104 This build option enables the old code for legacy
Len Brown14e04fb2007-08-23 15:20:26 -0400105 user-space implementation. After some time, this will
106 be moved under CONFIG_ACPI_PROCFS, and then deleted.
107
Hugh Dickins721ebe02007-08-27 16:04:39 +0100108 Say Y here to retain the old behaviour. Say N if your
109 user-space is newer than kernel 2.6.23 (September 2007).
110
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111config ACPI_AC
112 tristate "AC Adapter"
Alexey Starikovskiy5527c8b2007-10-29 17:08:59 -0400113 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400114 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 help
116 This driver adds support for the AC Adapter object, which indicates
Len Brown07fefe42005-08-25 12:22:04 -0400117 whether a system is on AC, or not. If you have a system that can
118 switch between A/C and battery, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119
120config ACPI_BATTERY
121 tristate "Battery"
Alexey Starikovskiy5527c8b2007-10-29 17:08:59 -0400122 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400123 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 help
125 This driver adds support for battery information through
126 /proc/acpi/battery. If you have a mobile system with a battery,
127 say Y.
128
129config ACPI_BUTTON
130 tristate "Button"
Dmitry Torokhovc0968f02006-11-09 00:40:13 -0500131 depends on INPUT
Len Brown07fefe42005-08-25 12:22:04 -0400132 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700133 help
Len Brown07fefe42005-08-25 12:22:04 -0400134 This driver handles events on the power, sleep and lid buttons.
135 A daemon reads /proc/acpi/event and perform user-defined actions
136 such as shutting down the system. This is necessary for
137 software controlled poweroff.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138
139config ACPI_VIDEO
140 tristate "Video"
Luming Yu23b0f012007-05-09 21:07:05 +0800141 depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
Andreas Herrmann03e2bf22007-09-17 23:41:05 +0200142 depends on INPUT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143 help
144 This driver implement the ACPI Extensions For Display Adapters
145 for integrated graphics devices on motherboard, as specified in
146 ACPI 2.0 Specification, Appendix B, allowing to perform some basic
147 control like defining the video POST device, retrieving EDID information
148 or to setup a video output, etc.
149 Note that this is an ref. implementation only. It may or may not work
150 for your integrated video device.
151
152config ACPI_FAN
153 tristate "Fan"
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"
Len Brown07fefe42005-08-25 12:22:04 -0400175 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176 help
177 This driver installs ACPI as the idle handler for Linux, and uses
178 ACPI C2 and C3 processor states to save power, on systems that
Len Brown07fefe42005-08-25 12:22:04 -0400179 support it. It is required by several flavors of cpufreq
180 Performance-state drivers.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181
182config ACPI_HOTPLUG_CPU
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400183 bool
184 depends on ACPI_PROCESSOR && HOTPLUG_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185 select ACPI_CONTAINER
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400186 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700187
188config ACPI_THERMAL
189 tristate "Thermal Zone"
190 depends on ACPI_PROCESSOR
Zhang Rui3f655ef2008-01-17 15:51:11 +0800191 select THERMAL
Len Brown07fefe42005-08-25 12:22:04 -0400192 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193 help
194 This driver adds support for ACPI thermal zones. Most mobile and
195 some desktop systems support ACPI thermal zones. It is HIGHLY
196 recommended that this option be enabled, as your processor(s)
197 may be damaged without it.
198
199config ACPI_NUMA
200 bool "NUMA support"
201 depends on NUMA
Yasunori Goto762834e2006-06-23 02:03:19 -0700202 depends on (X86 || IA64)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203 default y if IA64_GENERIC || IA64_SGI_SN2
204
Carlos Corbachobff431e2008-02-05 02:17:04 +0000205config ACPI_WMI
206 tristate "WMI (EXPERIMENTAL)"
Len Brown9c2f7de2008-02-07 16:18:24 -0500207 depends on X86
Carlos Corbachobff431e2008-02-05 02:17:04 +0000208 depends on EXPERIMENTAL
209 help
Carlos Corbacho20b45142008-02-08 00:36:49 -0500210 This driver adds support for the ACPI-WMI (Windows Management
211 Instrumentation) mapper device (PNP0C14) found on some systems.
Carlos Corbachobff431e2008-02-05 02:17:04 +0000212
Carlos Corbacho20b45142008-02-08 00:36:49 -0500213 ACPI-WMI is a proprietary extension to ACPI to expose parts of the
214 ACPI firmware to userspace - this is done through various vendor
215 defined methods and data blocks in a PNP0C14 device, which are then
216 made available for userspace to call.
217
218 The implementation of this in Linux currently only exposes this to
219 other kernel space drivers.
220
221 This driver is a required dependency to build the firmware specific
222 drivers needed on many machines, including Acer and HP laptops.
223
224 It is safe to enable this driver even if your DSDT doesn't define
225 any ACPI-WMI devices.
Carlos Corbachobff431e2008-02-05 02:17:04 +0000226
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227config ACPI_ASUS
228 tristate "ASUS/Medion Laptop Extras"
229 depends on X86
Holger Macht2039a6e2006-10-20 14:30:29 -0700230 select BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231 ---help---
232 This driver provides support for extra features of ACPI-compatible
233 ASUS laptops. As some of Medion laptops are made by ASUS, it may also
234 support some Medion laptops (such as 9675 for example). It makes all
235 the extra buttons generate standard ACPI events that go through
236 /proc/acpi/events, and (on some models) adds support for changing the
237 display brightness and output, switching the LCD backlight on and off,
238 and most importantly, allows you to blink those fancy LEDs intended
239 for reporting mail and wireless status.
240
241 Note: display switching code is currently considered EXPERIMENTAL,
242 toying with these values may even lock your machine.
Corentin Chary85091b72007-01-26 14:04:30 +0100243
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244 All settings are changed via /proc/acpi/asus directory entries. Owner
245 and group for these entries can be set with asus_uid and asus_gid
246 parameters.
Corentin Chary85091b72007-01-26 14:04:30 +0100247
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248 More information and a userspace daemon for handling the extra buttons
249 at <http://sourceforge.net/projects/acpi4asus/>.
Corentin Chary85091b72007-01-26 14:04:30 +0100250
Linus Torvalds1da177e2005-04-16 15:20:36 -0700251 If you have an ACPI-compatible ASUS laptop, say Y or M here. This
252 driver is still under development, so if your laptop is unsupported or
253 something works not quite as expected, please use the mailing list
Corentin Chary85091b72007-01-26 14:04:30 +0100254 available on the above page (acpi4asus-user@lists.sourceforge.net).
255
256 NOTE: This driver is deprecated and will probably be removed soon,
257 use asus-laptop instead.
258
Linus Torvalds1da177e2005-04-16 15:20:36 -0700259config ACPI_TOSHIBA
260 tristate "Toshiba Laptop Extras"
261 depends on X86
Holger Machtc9263552006-10-20 14:30:29 -0700262 select BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700263 ---help---
264 This driver adds support for access to certain system settings
265 on "legacy free" Toshiba laptops. These laptops can be recognized by
266 their lack of a BIOS setup menu and APM support.
267
268 On these machines, all system configuration is handled through the
269 ACPI. This driver is required for access to controls not covered
270 by the general ACPI drivers, such as LCD brightness, video output,
271 etc.
272
273 This driver differs from the non-ACPI Toshiba laptop driver (located
274 under "Processor type and features") in several aspects.
275 Configuration is accessed by reading and writing text files in the
276 /proc tree instead of by program interface to /dev. Furthermore, no
277 power management functions are exposed, as those are handled by the
278 general ACPI drivers.
279
280 More information about this driver is available at
281 <http://memebeam.org/toys/ToshibaAcpiDriver>.
282
283 If you have a legacy free Toshiba laptop (such as the Libretto L1
284 series), say Y.
285
Randy Dunlap7ce95732008-02-22 11:25:04 -0800286config ACPI_CUSTOM_DSDT_FILE
287 string "Custom DSDT Table file to include"
288 default ""
Linus Torvalds1da177e2005-04-16 15:20:36 -0700289 depends on !STANDALONE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700290 help
Len Brownd89e9d62008-02-06 19:28:02 -0500291 This option supports a custom DSDT by linking it into the kernel.
292 See Documentation/acpi/dsdt-override.txt
293
Uwe Zeisbergerc30fe7f2006-03-24 18:23:14 +0100294 Enter the full path name to the file which includes the AmlCode
295 declaration.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700296
Randy Dunlap7ce95732008-02-22 11:25:04 -0800297 If unsure, don't enter a file name.
298
299config ACPI_CUSTOM_DSDT
300 bool
301 default ACPI_CUSTOM_DSDT_FILE != ""
302
Linus Torvalds1da177e2005-04-16 15:20:36 -0700303config ACPI_BLACKLIST_YEAR
Andi Kleen2eb1bdb2006-02-26 04:18:43 +0100304 int "Disable ACPI for systems before Jan 1st this year" if X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305 default 0
306 help
307 enter a 4-digit year, eg. 2001 to disable ACPI by default
308 on platforms with DMI BIOS date before January 1st that year.
309 "acpi=force" can be used to override this mechanism.
310
311 Enter 0 to disable this mechanism and allow ACPI to
312 run by default no matter what the year. (default)
313
314config ACPI_DEBUG
315 bool "Debug Statements"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700316 default n
317 help
318 The ACPI driver can optionally report errors with a great deal
319 of verbosity. Saying Y enables these statements. This will increase
320 your kernel size by around 50K.
321
Thomas Renninger798d91032007-05-31 17:20:39 +0200322config ACPI_DEBUG_FUNC_TRACE
323 bool "Additionally enable ACPI function tracing"
324 default n
325 depends on ACPI_DEBUG
326 help
327 ACPI Debug Statements slow down ACPI processing. Function trace
328 is about half of the penalty and is rarely useful.
329
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330config ACPI_EC
331 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700332 default y
333 help
334 This driver is required on some systems for the proper operation of
335 the battery and thermal drivers. If you are compiling for a
336 mobile system, say Y.
337
338config ACPI_POWER
339 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700340 default y
341
Linus Torvalds1da177e2005-04-16 15:20:36 -0700342config ACPI_SYSTEM
343 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700344 default y
345 help
346 This driver will enable your system to shut down using ACPI, and
347 dump your ACPI DSDT table using /proc/acpi/dsdt.
348
Linus Torvalds1da177e2005-04-16 15:20:36 -0700349config X86_PM_TIMER
Andi Kleene78256b2006-02-26 04:18:37 +0100350 bool "Power Management Timer Support" if EMBEDDED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700351 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400352 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700353 help
354 The Power Management Timer is available on all ACPI-capable,
355 in most cases even if ACPI is unusable or blacklisted.
356
Matt LaPlantec73a6682006-10-03 22:24:43 +0200357 This timing source is not affected by power management features
Linus Torvalds1da177e2005-04-16 15:20:36 -0700358 like aggressive processor idling, throttling, frequency and/or
359 voltage scaling, unlike the commonly used Time Stamp Counter
360 (TSC) timing source.
361
Andi Kleene78256b2006-02-26 04:18:37 +0100362 You should nearly always say Y here because many modern
363 systems require this timer.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364
365config ACPI_CONTAINER
366 tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
367 depends on EXPERIMENTAL
368 default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
369 ---help---
Keiichiro Tokunaga45b1b192005-03-02 00:00:00 -0500370 This allows _physical_ insertion and removal of CPUs and memory.
371 This can be useful, for example, on NUMA machines that support
372 ACPI based physical hotplug of nodes, or non-NUMA machines that
373 support physical cpu/memory hot-plug.
374
375 If one selects "m", this driver can be loaded with
376 "modprobe acpi_container".
Linus Torvalds1da177e2005-04-16 15:20:36 -0700377
378config ACPI_HOTPLUG_MEMORY
379 tristate "Memory Hotplug"
Yasunori Gotobc02af92006-06-27 02:53:30 -0700380 depends on MEMORY_HOTPLUG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700381 default n
382 help
383 This driver adds supports for ACPI Memory Hotplug. This driver
384 provides support for fielding notifications on ACPI memory
385 devices (PNP0C80) which represent memory ranges that may be
386 onlined or offlined during runtime.
387
388 Enabling this driver assumes that your platform hardware
389 and firmware have support for hot-plugging physical memory. If
390 your system does not support physically adding or ripping out
Matt LaPlantec73a6682006-10-03 22:24:43 +0200391 memory DIMMs at some platform defined granularity (individually
Linus Torvalds1da177e2005-04-16 15:20:36 -0700392 or as a bank) at runtime, then you need not enable this driver.
393
394 If one selects "m," this driver can be loaded using the following
395 command:
396 $>modprobe acpi_memhotplug
Rich Townsend3f86b832006-07-01 11:36:54 -0400397
398config ACPI_SBS
Alexey Starikovskiy94f6c082007-09-26 19:43:48 +0400399 tristate "Smart Battery System"
Vladimir Lebedevb4150fc2007-03-19 17:45:50 +0300400 depends on X86
Rich Townsend3f86b832006-07-01 11:36:54 -0400401 help
Alexey Starikovskiy94f6c082007-09-26 19:43:48 +0400402 This driver adds support for the Smart Battery System, another
403 type of access to battery information, found on some laptops.
Rich Townsend3f86b832006-07-01 11:36:54 -0400404
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405endif # ACPI