blob: 2d21fed402b5a1a8532a11aa7e622e304b9c4dba [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# ACPI Configuration
3#
4
5menu "ACPI (Advanced Configuration and Power Interface) Support"
Len Browndb5034222007-02-02 21:05:04 -05006 depends on !X86_NUMAQ
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 depends on !X86_VISWS
8 depends on !IA64_HP_SIM
9 depends on IA64 || X86
10
11config ACPI
12 bool "ACPI Support"
13 depends on IA64 || X86
Adrian Bunk13001242006-03-28 17:04:00 -050014 depends on PCI
Andrew Morton6796a122006-12-19 12:56:13 -080015 depends on PM
Len Brown243b66e2007-02-15 22:34:36 -050016 select PNP
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 default y
18 ---help---
19 Advanced Configuration and Power Interface (ACPI) support for
20 Linux requires an ACPI compliant platform (hardware/firmware),
21 and assumes the presence of OS-directed configuration and power
22 management (OSPM) software. This option will enlarge your
23 kernel by about 70K.
24
25 Linux ACPI provides a robust functional replacement for several
26 legacy configuration and power management interfaces, including
27 the Plug-and-Play BIOS specification (PnP BIOS), the
28 MultiProcessor Specification (MPS), and the Advanced Power
29 Management (APM) specification. If both ACPI and APM support
30 are configured, whichever is loaded first shall be used.
31
32 The ACPI SourceForge project contains the latest source code,
33 documentation, tools, mailing list subscription, and other
34 information. This project is available at:
35 <http://sourceforge.net/projects/acpi>
36
37 Linux support for ACPI is based on Intel Corporation's ACPI
38 Component Architecture (ACPI CA). For more information see:
39 <http://developer.intel.com/technology/iapc/acpi>
40
41 ACPI is an open industry specification co-developed by Compaq,
42 Intel, Microsoft, Phoenix, and Toshiba. The specification is
43 available at:
44 <http://www.acpi.info>
45
Len Brown3e11c3c2005-05-27 04:53:27 -040046if ACPI
47
Linus Torvalds1da177e2005-04-16 15:20:36 -070048config ACPI_SLEEP
Len Brownbfea6c22005-08-25 12:15:11 -040049 bool "Sleep States"
Li Shaohua5a72e042005-06-25 14:55:06 -070050 depends on X86 && (!SMP || SUSPEND_SMP)
Len Brownbfea6c22005-08-25 12:15:11 -040051 depends on PM
Linus Torvalds1da177e2005-04-16 15:20:36 -070052 default y
53 ---help---
54 This option adds support for ACPI suspend states.
55
56 With this option, you will be able to put the system "to sleep".
57 Sleep states are low power states for the system and devices. All
58 of the system operating state is saved to either memory or disk
59 (depending on the state), to allow the system to resume operation
60 quickly at your request.
61
62 Although this option sounds really nifty, barely any of the device
63 drivers have been converted to the new driver model and hence few
64 have proper power management support.
65
66 This option is not recommended for anyone except those doing driver
67 power management development.
68
69config ACPI_SLEEP_PROC_FS
70 bool
71 depends on ACPI_SLEEP && PROC_FS
72 default y
73
Len Brownebb6e1a62005-04-14 23:12:56 -040074config ACPI_SLEEP_PROC_SLEEP
75 bool "/proc/acpi/sleep (deprecated)"
76 depends on ACPI_SLEEP_PROC_FS
77 default n
78 ---help---
79 Create /proc/acpi/sleep
80 Deprecated by /sys/power/state
81
Zhang Ruib981c592007-01-29 11:02:30 +080082config ACPI_PROCFS
83 bool "Procfs interface (deprecated)"
84 depends on ACPI
85 default y
86 ---help---
87 Procfs interface for ACPI is made optional for back-compatible.
88 As the same functions are duplicated in sysfs interface
89 and this proc interface will be removed some time later,
90 it's marked as deprecated.
Zhang Rui219c3c82007-01-29 11:02:38 +080091 ( /proc/acpi/debug_layer && debug_level are deprecated by
Zhang Rui5bb730f2007-01-29 11:02:42 +080092 /sys/module/acpi/parameters/debug_layer && debug_level.
93 /proc/acpi/info is deprecated by
94 /sys/module/acpi/parameters/acpica_version )
Zhang Ruib981c592007-01-29 11:02:30 +080095
Linus Torvalds1da177e2005-04-16 15:20:36 -070096config ACPI_AC
97 tristate "AC Adapter"
98 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -040099 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100 help
101 This driver adds support for the AC Adapter object, which indicates
Len Brown07fefe42005-08-25 12:22:04 -0400102 whether a system is on AC, or not. If you have a system that can
103 switch between A/C and battery, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104
105config ACPI_BATTERY
106 tristate "Battery"
107 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400108 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 help
110 This driver adds support for battery information through
111 /proc/acpi/battery. If you have a mobile system with a battery,
112 say Y.
113
114config ACPI_BUTTON
115 tristate "Button"
Dmitry Torokhovc0968f02006-11-09 00:40:13 -0500116 depends on INPUT
Len Brown07fefe42005-08-25 12:22:04 -0400117 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118 help
Len Brown07fefe42005-08-25 12:22:04 -0400119 This driver handles events on the power, sleep and lid buttons.
120 A daemon reads /proc/acpi/event and perform user-defined actions
121 such as shutting down the system. This is necessary for
122 software controlled poweroff.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123
124config ACPI_VIDEO
125 tristate "Video"
Yu Luming2f3d0002006-11-11 02:40:34 +0800126 depends on X86 && BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127 help
128 This driver implement the ACPI Extensions For Display Adapters
129 for integrated graphics devices on motherboard, as specified in
130 ACPI 2.0 Specification, Appendix B, allowing to perform some basic
131 control like defining the video POST device, retrieving EDID information
132 or to setup a video output, etc.
133 Note that this is an ref. implementation only. It may or may not work
134 for your integrated video device.
135
Luming Yufb9802f2005-03-18 18:03:45 -0500136config ACPI_HOTKEY
Len Brownbfea6c22005-08-25 12:15:11 -0400137 tristate "Generic Hotkey (EXPERIMENTAL)"
Luming Yufb9802f2005-03-18 18:03:45 -0500138 depends on EXPERIMENTAL
Len Browneb7b6b32005-08-25 12:08:25 -0400139 depends on X86
Luming Yu79cda7d2005-08-03 18:07:59 -0400140 default n
Luming Yufb9802f2005-03-18 18:03:45 -0500141 help
Luming Yu79cda7d2005-08-03 18:07:59 -0400142 Experimental consolidated hotkey driver.
143 If you are unsure, say N.
Luming Yufb9802f2005-03-18 18:03:45 -0500144
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145config ACPI_FAN
146 tristate "Fan"
Len Brown07fefe42005-08-25 12:22:04 -0400147 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148 help
149 This driver adds support for ACPI fan devices, allowing user-mode
150 applications to perform basic fan control (on, off, status).
151
Len Brownc8f7a622006-07-09 17:22:28 -0400152config ACPI_DOCK
153 tristate "Dock"
Len Brown8d7bff62006-07-09 22:09:57 -0400154 depends on EXPERIMENTAL
Len Brownc8f7a622006-07-09 17:22:28 -0400155 help
156 This driver adds support for ACPI controlled docking stations
157
Kristen Carlson Accardi01b57e72006-10-20 14:30:25 -0700158config ACPI_BAY
Len Brown0ed1e382007-02-02 22:39:16 -0500159 tristate "Removable Drive Bay (EXPERIMENTAL)"
Kristen Carlson Accardi01b57e72006-10-20 14:30:25 -0700160 depends on EXPERIMENTAL
161 help
162 This driver adds support for ACPI controlled removable drive
163 bays such as the IBM ultrabay or the Dell Module Bay.
164
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165config ACPI_PROCESSOR
166 tristate "Processor"
Len Brown07fefe42005-08-25 12:22:04 -0400167 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168 help
169 This driver installs ACPI as the idle handler for Linux, and uses
170 ACPI C2 and C3 processor states to save power, on systems that
Len Brown07fefe42005-08-25 12:22:04 -0400171 support it. It is required by several flavors of cpufreq
172 Performance-state drivers.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700173
174config ACPI_HOTPLUG_CPU
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400175 bool
176 depends on ACPI_PROCESSOR && HOTPLUG_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177 select ACPI_CONTAINER
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400178 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179
180config ACPI_THERMAL
181 tristate "Thermal Zone"
182 depends on ACPI_PROCESSOR
Len Brown07fefe42005-08-25 12:22:04 -0400183 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184 help
185 This driver adds support for ACPI thermal zones. Most mobile and
186 some desktop systems support ACPI thermal zones. It is HIGHLY
187 recommended that this option be enabled, as your processor(s)
188 may be damaged without it.
189
190config ACPI_NUMA
191 bool "NUMA support"
192 depends on NUMA
Yasunori Goto762834e2006-06-23 02:03:19 -0700193 depends on (X86 || IA64)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700194 default y if IA64_GENERIC || IA64_SGI_SN2
195
196config ACPI_ASUS
197 tristate "ASUS/Medion Laptop Extras"
198 depends on X86
Holger Macht2039a6e2006-10-20 14:30:29 -0700199 select BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200 ---help---
201 This driver provides support for extra features of ACPI-compatible
202 ASUS laptops. As some of Medion laptops are made by ASUS, it may also
203 support some Medion laptops (such as 9675 for example). It makes all
204 the extra buttons generate standard ACPI events that go through
205 /proc/acpi/events, and (on some models) adds support for changing the
206 display brightness and output, switching the LCD backlight on and off,
207 and most importantly, allows you to blink those fancy LEDs intended
208 for reporting mail and wireless status.
209
210 Note: display switching code is currently considered EXPERIMENTAL,
211 toying with these values may even lock your machine.
Corentin Chary85091b72007-01-26 14:04:30 +0100212
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213 All settings are changed via /proc/acpi/asus directory entries. Owner
214 and group for these entries can be set with asus_uid and asus_gid
215 parameters.
Corentin Chary85091b72007-01-26 14:04:30 +0100216
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217 More information and a userspace daemon for handling the extra buttons
218 at <http://sourceforge.net/projects/acpi4asus/>.
Corentin Chary85091b72007-01-26 14:04:30 +0100219
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220 If you have an ACPI-compatible ASUS laptop, say Y or M here. This
221 driver is still under development, so if your laptop is unsupported or
222 something works not quite as expected, please use the mailing list
Corentin Chary85091b72007-01-26 14:04:30 +0100223 available on the above page (acpi4asus-user@lists.sourceforge.net).
224
225 NOTE: This driver is deprecated and will probably be removed soon,
226 use asus-laptop instead.
227
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228config ACPI_IBM
229 tristate "IBM ThinkPad Laptop Extras"
230 depends on X86
Holger Macht8acb0252006-10-20 14:30:28 -0700231 select BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232 ---help---
233 This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
234 support for Fn-Fx key combinations, Bluetooth control, video
235 output switching, ThinkLight control, UltraBay eject and more.
236 For more information about this driver see <file:Documentation/ibm-acpi.txt>
237 and <http://ibm-acpi.sf.net/> .
238
239 If you have an IBM ThinkPad laptop, say Y or M here.
240
Kristen Accardi63e5f242006-02-23 17:56:06 -0800241config ACPI_IBM_DOCK
242 bool "Legacy Docking Station Support"
243 depends on ACPI_IBM
Len Brown8d7bff62006-07-09 22:09:57 -0400244 depends on ACPI_DOCK=n
Kristen Accardi63e5f242006-02-23 17:56:06 -0800245 default n
246 ---help---
247 Allows the ibm_acpi driver to handle docking station events.
248 This support is obsoleted by CONFIG_HOTPLUG_PCI_ACPI. It will
249 allow locking and removing the laptop from the docking station,
250 but will not properly connect PCI devices.
251
252 If you are not sure, say N here.
253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700254config ACPI_TOSHIBA
255 tristate "Toshiba Laptop Extras"
256 depends on X86
Holger Machtc9263552006-10-20 14:30:29 -0700257 select BACKLIGHT_CLASS_DEVICE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700258 ---help---
259 This driver adds support for access to certain system settings
260 on "legacy free" Toshiba laptops. These laptops can be recognized by
261 their lack of a BIOS setup menu and APM support.
262
263 On these machines, all system configuration is handled through the
264 ACPI. This driver is required for access to controls not covered
265 by the general ACPI drivers, such as LCD brightness, video output,
266 etc.
267
268 This driver differs from the non-ACPI Toshiba laptop driver (located
269 under "Processor type and features") in several aspects.
270 Configuration is accessed by reading and writing text files in the
271 /proc tree instead of by program interface to /dev. Furthermore, no
272 power management functions are exposed, as those are handled by the
273 general ACPI drivers.
274
275 More information about this driver is available at
276 <http://memebeam.org/toys/ToshibaAcpiDriver>.
277
278 If you have a legacy free Toshiba laptop (such as the Libretto L1
279 series), say Y.
280
281config ACPI_CUSTOM_DSDT
282 bool "Include Custom DSDT"
283 depends on !STANDALONE
284 default n
285 help
Matt LaPlantec73a6682006-10-03 22:24:43 +0200286 This option is to load a custom ACPI DSDT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287 If you don't know what that is, say N.
288
289config ACPI_CUSTOM_DSDT_FILE
290 string "Custom DSDT Table file to include"
291 depends on ACPI_CUSTOM_DSDT
292 default ""
293 help
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
297config ACPI_BLACKLIST_YEAR
Andi Kleen2eb1bdb2006-02-26 04:18:43 +0100298 int "Disable ACPI for systems before Jan 1st this year" if X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700299 default 0
300 help
301 enter a 4-digit year, eg. 2001 to disable ACPI by default
302 on platforms with DMI BIOS date before January 1st that year.
303 "acpi=force" can be used to override this mechanism.
304
305 Enter 0 to disable this mechanism and allow ACPI to
306 run by default no matter what the year. (default)
307
308config ACPI_DEBUG
309 bool "Debug Statements"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700310 default n
311 help
312 The ACPI driver can optionally report errors with a great deal
313 of verbosity. Saying Y enables these statements. This will increase
314 your kernel size by around 50K.
315
Linus Torvalds1da177e2005-04-16 15:20:36 -0700316config ACPI_EC
317 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700318 default y
319 help
320 This driver is required on some systems for the proper operation of
321 the battery and thermal drivers. If you are compiling for a
322 mobile system, say Y.
323
324config ACPI_POWER
325 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700326 default y
327
Linus Torvalds1da177e2005-04-16 15:20:36 -0700328config ACPI_SYSTEM
329 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330 default y
331 help
332 This driver will enable your system to shut down using ACPI, and
333 dump your ACPI DSDT table using /proc/acpi/dsdt.
334
Linus Torvalds1da177e2005-04-16 15:20:36 -0700335config X86_PM_TIMER
Andi Kleene78256b2006-02-26 04:18:37 +0100336 bool "Power Management Timer Support" if EMBEDDED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700337 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400338 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700339 help
340 The Power Management Timer is available on all ACPI-capable,
341 in most cases even if ACPI is unusable or blacklisted.
342
Matt LaPlantec73a6682006-10-03 22:24:43 +0200343 This timing source is not affected by power management features
Linus Torvalds1da177e2005-04-16 15:20:36 -0700344 like aggressive processor idling, throttling, frequency and/or
345 voltage scaling, unlike the commonly used Time Stamp Counter
346 (TSC) timing source.
347
Andi Kleene78256b2006-02-26 04:18:37 +0100348 You should nearly always say Y here because many modern
349 systems require this timer.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700350
351config ACPI_CONTAINER
352 tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
353 depends on EXPERIMENTAL
354 default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
355 ---help---
Keiichiro Tokunaga45b1b192005-03-02 00:00:00 -0500356 This allows _physical_ insertion and removal of CPUs and memory.
357 This can be useful, for example, on NUMA machines that support
358 ACPI based physical hotplug of nodes, or non-NUMA machines that
359 support physical cpu/memory hot-plug.
360
361 If one selects "m", this driver can be loaded with
362 "modprobe acpi_container".
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363
364config ACPI_HOTPLUG_MEMORY
365 tristate "Memory Hotplug"
366 depends on ACPI
Yasunori Gotobc02af92006-06-27 02:53:30 -0700367 depends on MEMORY_HOTPLUG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700368 default n
369 help
370 This driver adds supports for ACPI Memory Hotplug. This driver
371 provides support for fielding notifications on ACPI memory
372 devices (PNP0C80) which represent memory ranges that may be
373 onlined or offlined during runtime.
374
375 Enabling this driver assumes that your platform hardware
376 and firmware have support for hot-plugging physical memory. If
377 your system does not support physically adding or ripping out
Matt LaPlantec73a6682006-10-03 22:24:43 +0200378 memory DIMMs at some platform defined granularity (individually
Linus Torvalds1da177e2005-04-16 15:20:36 -0700379 or as a bank) at runtime, then you need not enable this driver.
380
381 If one selects "m," this driver can be loaded using the following
382 command:
383 $>modprobe acpi_memhotplug
Rich Townsend3f86b832006-07-01 11:36:54 -0400384
385config ACPI_SBS
386 tristate "Smart Battery System (EXPERIMENTAL)"
387 depends on X86 && I2C
388 depends on EXPERIMENTAL
Rich Townsend3f86b832006-07-01 11:36:54 -0400389 help
390 This driver adds support for the Smart Battery System.
391 Depends on I2C (Device Drivers ---> I2C support)
392 A "Smart Battery" is quite old and quite rare compared
393 to today's ACPI "Control Method" battery.
394
Linus Torvalds1da177e2005-04-16 15:20:36 -0700395endif # ACPI
396
397endmenu