blob: dd8729d674e56ef2dfcdc7a7fa320f399b4542c6 [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
Len Brown9fdd54f2009-02-06 12:24:17 -050012 select CPU_IDLE
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 default y
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070014 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070015 Advanced Configuration and Power Interface (ACPI) support for
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070016 Linux requires an ACPI-compliant platform (hardware/firmware),
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 and assumes the presence of OS-directed configuration and power
18 management (OSPM) software. This option will enlarge your
19 kernel by about 70K.
20
21 Linux ACPI provides a robust functional replacement for several
22 legacy configuration and power management interfaces, including
23 the Plug-and-Play BIOS specification (PnP BIOS), the
24 MultiProcessor Specification (MPS), and the Advanced Power
25 Management (APM) specification. If both ACPI and APM support
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070026 are configured, ACPI is used.
Linus Torvalds1da177e2005-04-16 15:20:36 -070027
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070028 The project home page for the Linux ACPI subsystem is here:
29 <http://www.lesswatts.org/projects/acpi/>
Linus Torvalds1da177e2005-04-16 15:20:36 -070030
31 Linux support for ACPI is based on Intel Corporation's ACPI
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070032 Component Architecture (ACPI CA). For more information on the
33 ACPI CA, see:
34 <http://acpica.org/>
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070036 ACPI is an open industry specification co-developed by
37 Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.
38 The specification is available at:
Linus Torvalds1da177e2005-04-16 15:20:36 -070039 <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
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070051 help
Len Brownfb804712007-07-24 01:50:46 -040052 For backwards compatibility, this option allows
Rolf Eike Beer405bbe9f2007-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)
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070058 /proc/acpi/info (/sys/module/acpi/parameters/acpica_version)
Len Brownfb804712007-07-24 01:50:46 -040059 /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)
Zhao Yakui74cad4e2009-06-24 11:49:49 +080063 /proc/acpi/processor/*/power (/sys/devices/system/cpu/*/cpuidle/*)
64 /proc/acpi/processor/*/performance (/sys/devices/system/cpu/*/
65 cpufreq/*)
66 /proc/acpi/processor/*/throttling (/sys/class/thermal/
67 cooling_device*/*)
Len Brownfb804712007-07-24 01:50:46 -040068 This option has no effect on /proc/acpi/ files
69 and functions which do not yet exist in /sys.
70
71 Say N to delete /proc/acpi/ files that have moved to /sys/
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070072
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030073config ACPI_PROCFS_POWER
Alan Cox9e527972008-01-03 16:31:42 +000074 bool "Deprecated power /proc/acpi directories"
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030075 depends on PROC_FS
76 default y
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -070077 help
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030078 For backwards compatibility, this option allows
Alan Cox9e527972008-01-03 16:31:42 +000079 deprecated power /proc/acpi/ directories to exist, even when
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030080 they have been replaced by functions in /sys.
Alan Cox9e527972008-01-03 16:31:42 +000081 The deprecated directories (and their replacements) include:
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030082 /proc/acpi/battery/* (/sys/class/power_supply/*)
83 /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
Alan Cox9e527972008-01-03 16:31:42 +000084 This option has no effect on /proc/acpi/ directories
Alexey Starikovskiyfdcedbb2007-11-19 16:33:45 +030085 and functions, which do not yet exist in /sys
Zhang Ruib981c592007-01-29 11:02:30 +080086
Alan Cox9e527972008-01-03 16:31:42 +000087 Say N to delete power /proc/acpi/ directories that have moved to /sys/
88
Darrick J. Wongde584af2009-09-18 12:41:09 -070089config ACPI_POWER_METER
90 tristate "ACPI 4.0 power meter"
91 depends on HWMON
92 help
93 This driver exposes ACPI 4.0 power meters as hardware monitoring
94 devices. Say Y (or M) if you have a computer with ACPI 4.0 firmware
95 and a power meter.
96
97 To compile this driver as a module, choose M here:
98 the module will be called power-meter.
99
Alexey Starikovskiy97749cd2008-01-01 14:27:24 -0500100config ACPI_SYSFS_POWER
101 bool "Future power /sys interface"
102 select POWER_SUPPLY
103 default y
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700104 help
Alexey Starikovskiy97749cd2008-01-01 14:27:24 -0500105 Say N to disable power /sys interface
Alan Cox9e527972008-01-03 16:31:42 +0000106
Len Brown14e04fb2007-08-23 15:20:26 -0400107config ACPI_PROC_EVENT
108 bool "Deprecated /proc/acpi/event support"
109 depends on PROC_FS
Hugh Dickins721ebe02007-08-27 16:04:39 +0100110 default y
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700111 help
112 A user-space daemon, acpid, typically reads /proc/acpi/event
113 and handles all ACPI-generated events.
Len Brown14e04fb2007-08-23 15:20:26 -0400114
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700115 These events are now delivered to user-space either
116 via the input layer or as netlink events.
Len Brown14e04fb2007-08-23 15:20:26 -0400117
Hugh Dickins721ebe02007-08-27 16:04:39 +0100118 This build option enables the old code for legacy
Len Brown14e04fb2007-08-23 15:20:26 -0400119 user-space implementation. After some time, this will
120 be moved under CONFIG_ACPI_PROCFS, and then deleted.
121
Hugh Dickins721ebe02007-08-27 16:04:39 +0100122 Say Y here to retain the old behaviour. Say N if your
123 user-space is newer than kernel 2.6.23 (September 2007).
124
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125config ACPI_AC
126 tristate "AC Adapter"
Alexey Starikovskiy5527c8b2007-10-29 17:08:59 -0400127 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400128 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700130 This driver supports the AC Adapter object, which indicates
131 whether a system is on AC or not. If you have a system that can
Len Brown07fefe42005-08-25 12:22:04 -0400132 switch between A/C and battery, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700133
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700134 To compile this driver as a module, choose M here:
135 the module will be called ac.
136
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137config ACPI_BATTERY
138 tristate "Battery"
Alexey Starikovskiy5527c8b2007-10-29 17:08:59 -0400139 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400140 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141 help
142 This driver adds support for battery information through
143 /proc/acpi/battery. If you have a mobile system with a battery,
144 say Y.
145
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700146 To compile this driver as a module, choose M here:
147 the module will be called battery.
148
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149config ACPI_BUTTON
150 tristate "Button"
Dmitry Torokhovc0968f02006-11-09 00:40:13 -0500151 depends on INPUT
Len Brown07fefe42005-08-25 12:22:04 -0400152 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700154 This driver handles events on the power, sleep, and lid buttons.
Len Brown07fefe42005-08-25 12:22:04 -0400155 A daemon reads /proc/acpi/event and perform user-defined actions
156 such as shutting down the system. This is necessary for
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700157 software-controlled poweroff.
158
159 To compile this driver as a module, choose M here:
160 the module will be called button.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161
162config ACPI_VIDEO
163 tristate "Video"
Luming Yu23b0f012007-05-09 21:07:05 +0800164 depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
Andreas Herrmann03e2bf22007-09-17 23:41:05 +0200165 depends on INPUT
Zhang Rui63c4ec92008-04-21 16:07:13 +0800166 select THERMAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700168 This driver implements the ACPI Extensions For Display Adapters
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169 for integrated graphics devices on motherboard, as specified in
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700170 ACPI 2.0 Specification, Appendix B. This supports basic operations
171 such as defining the video POST device, retrieving EDID information,
172 and setting up a video output.
173
174 To compile this driver as a module, choose M here:
175 the module will be called video.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176
177config ACPI_FAN
178 tristate "Fan"
Zhang Rui63c4ec92008-04-21 16:07:13 +0800179 select THERMAL
Len Brown07fefe42005-08-25 12:22:04 -0400180 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700182 This driver supports ACPI fan devices, allowing user-mode
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183 applications to perform basic fan control (on, off, status).
184
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700185 To compile this driver as a module, choose M here:
186 the module will be called fan.
187
Len Brownc8f7a62c2006-07-09 17:22:28 -0400188config ACPI_DOCK
Shaohua Li898b0542008-09-27 11:10:28 +0800189 bool "Dock"
Len Brown8d7bff62006-07-09 22:09:57 -0400190 depends on EXPERIMENTAL
Len Brownc8f7a62c2006-07-09 17:22:28 -0400191 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700192 This driver supports ACPI-controlled docking stations and removable
193 drive bays such as the IBM Ultrabay and the Dell Module Bay.
Kristen Carlson Accardi01b57e72006-10-20 14:30:25 -0700194
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195config ACPI_PROCESSOR
196 tristate "Processor"
Zhang Rui63c4ec92008-04-21 16:07:13 +0800197 select THERMAL
Len Brown07fefe42005-08-25 12:22:04 -0400198 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700200 This driver installs ACPI as the idle handler for Linux and uses
201 ACPI C2 and C3 processor states to save power on systems that
Len Brown07fefe42005-08-25 12:22:04 -0400202 support it. It is required by several flavors of cpufreq
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700203 performance-state drivers.
204
205 To compile this driver as a module, choose M here:
206 the module will be called processor.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207
208config ACPI_HOTPLUG_CPU
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400209 bool
210 depends on ACPI_PROCESSOR && HOTPLUG_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211 select ACPI_CONTAINER
Adrian Bunkcbfc1ba2005-07-30 04:18:00 -0400212 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213
214config ACPI_THERMAL
215 tristate "Thermal Zone"
216 depends on ACPI_PROCESSOR
Zhang Rui3f655ef2008-01-17 15:51:11 +0800217 select THERMAL
Len Brown07fefe42005-08-25 12:22:04 -0400218 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700219 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700220 This driver supports ACPI thermal zones. Most mobile and
Linus Torvalds1da177e2005-04-16 15:20:36 -0700221 some desktop systems support ACPI thermal zones. It is HIGHLY
222 recommended that this option be enabled, as your processor(s)
223 may be damaged without it.
224
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700225 To compile this driver as a module, choose M here:
226 the module will be called thermal.
227
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228config ACPI_NUMA
229 bool "NUMA support"
230 depends on NUMA
Yasunori Goto762834e2006-06-23 02:03:19 -0700231 depends on (X86 || IA64)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232 default y if IA64_GENERIC || IA64_SGI_SN2
233
Randy Dunlap7ce95732008-02-22 11:25:04 -0800234config ACPI_CUSTOM_DSDT_FILE
235 string "Custom DSDT Table file to include"
236 default ""
Linus Torvalds1da177e2005-04-16 15:20:36 -0700237 depends on !STANDALONE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238 help
Len Brownd89e9d62008-02-06 19:28:02 -0500239 This option supports a custom DSDT by linking it into the kernel.
240 See Documentation/acpi/dsdt-override.txt
241
Uwe Zeisbergerc30fe7f2006-03-24 18:23:14 +0100242 Enter the full path name to the file which includes the AmlCode
243 declaration.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244
Randy Dunlap7ce95732008-02-22 11:25:04 -0800245 If unsure, don't enter a file name.
246
247config ACPI_CUSTOM_DSDT
248 bool
249 default ACPI_CUSTOM_DSDT_FILE != ""
250
Linus Torvalds1da177e2005-04-16 15:20:36 -0700251config ACPI_BLACKLIST_YEAR
Andi Kleen2eb1bdb2006-02-26 04:18:43 +0100252 int "Disable ACPI for systems before Jan 1st this year" if X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253 default 0
254 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700255 Enter a 4-digit year, e.g., 2001, to disable ACPI by default
Linus Torvalds1da177e2005-04-16 15:20:36 -0700256 on platforms with DMI BIOS date before January 1st that year.
257 "acpi=force" can be used to override this mechanism.
258
259 Enter 0 to disable this mechanism and allow ACPI to
260 run by default no matter what the year. (default)
261
262config ACPI_DEBUG
263 bool "Debug Statements"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264 default n
265 help
Bjorn Helgaasa0d84a92008-11-07 16:58:05 -0700266 The ACPI subsystem can produce debug output. Saying Y enables this
267 output and increases the kernel size by around 50K.
268
269 Use the acpi.debug_layer and acpi.debug_level kernel command-line
270 parameters documented in Documentation/acpi/debug.txt and
271 Documentation/kernel-parameters.txt to control the type and
272 amount of debug output.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700273
Thomas Renninger798d91032007-05-31 17:20:39 +0200274config ACPI_DEBUG_FUNC_TRACE
275 bool "Additionally enable ACPI function tracing"
276 default n
277 depends on ACPI_DEBUG
278 help
279 ACPI Debug Statements slow down ACPI processing. Function trace
280 is about half of the penalty and is rarely useful.
281
Alex Chiang8344b562008-06-10 15:30:42 -0600282config ACPI_PCI_SLOT
283 tristate "PCI slot detection driver"
Alex Chiang268a03a2009-06-17 19:03:57 -0600284 depends on SYSFS
Alex Chiang8344b562008-06-10 15:30:42 -0600285 default n
286 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700287 This driver creates entries in /sys/bus/pci/slots/ for all PCI
288 slots in the system. This can help correlate PCI bus addresses,
289 i.e., segment/bus/device/function tuples, with physical slots in
290 the system. If you are unsure, say N.
291
292 To compile this driver as a module, choose M here:
293 the module will be called pci_slot.
Alex Chiang8344b562008-06-10 15:30:42 -0600294
Linus Torvalds1da177e2005-04-16 15:20:36 -0700295config X86_PM_TIMER
Andi Kleene78256b2006-02-26 04:18:37 +0100296 bool "Power Management Timer Support" if EMBEDDED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700297 depends on X86
Len Brown07fefe42005-08-25 12:22:04 -0400298 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700299 help
300 The Power Management Timer is available on all ACPI-capable,
301 in most cases even if ACPI is unusable or blacklisted.
302
Matt LaPlantec73a6682006-10-03 22:24:43 +0200303 This timing source is not affected by power management features
Linus Torvalds1da177e2005-04-16 15:20:36 -0700304 like aggressive processor idling, throttling, frequency and/or
305 voltage scaling, unlike the commonly used Time Stamp Counter
306 (TSC) timing source.
307
Andi Kleene78256b2006-02-26 04:18:37 +0100308 You should nearly always say Y here because many modern
309 systems require this timer.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700310
311config ACPI_CONTAINER
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700312 tristate "Container and Module Devices (EXPERIMENTAL)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313 depends on EXPERIMENTAL
314 default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700315 help
316 This driver supports ACPI Container and Module devices (IDs
317 ACPI0004, PNP0A05, and PNP0A06).
Keiichiro Tokunaga45b1b192005-03-02 00:00:00 -0500318
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700319 This helps support hotplug of nodes, CPUs, and memory.
320
321 To compile this driver as a module, choose M here:
322 the module will be called container.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700323
324config ACPI_HOTPLUG_MEMORY
325 tristate "Memory Hotplug"
Yasunori Gotobc02af92006-06-27 02:53:30 -0700326 depends on MEMORY_HOTPLUG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327 default n
328 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700329 This driver supports ACPI memory hotplug. The driver
330 fields notifications on ACPI memory devices (PNP0C80),
331 which represent memory ranges that may be onlined or
332 offlined during runtime.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700333
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700334 If your hardware and firmware do not support adding or
335 removing memory devices at runtime, you need not enable
336 this driver.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700337
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700338 To compile this driver as a module, choose M here:
339 the module will be called acpi_memhotplug.
Rich Townsend3f86b832006-07-01 11:36:54 -0400340
341config ACPI_SBS
Alexey Starikovskiy94f6c082007-09-26 19:43:48 +0400342 tristate "Smart Battery System"
Vladimir Lebedevb4150fc2007-03-19 17:45:50 +0300343 depends on X86
Rich Townsend3f86b832006-07-01 11:36:54 -0400344 help
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700345 This driver supports the Smart Battery System, another
Alexey Starikovskiy94f6c082007-09-26 19:43:48 +0400346 type of access to battery information, found on some laptops.
Rich Townsend3f86b832006-07-01 11:36:54 -0400347
Bjorn Helgaas1c48aa32009-02-19 14:45:47 -0700348 To compile this driver as a module, choose M here:
349 the modules will be called sbs and sbshc.
350
Linus Torvalds1da177e2005-04-16 15:20:36 -0700351endif # ACPI