Merge commit '900cfa46191a7d87cf1891924cb90499287fd235'; branches 'timers/nohz',...
[cascardo/linux.git] / drivers / acpi / Kconfig
1 #
2 # ACPI Configuration
3 #
4
5 menuconfig ACPI
6         bool "ACPI (Advanced Configuration and Power Interface) Support"
7         depends on !X86_NUMAQ
8         depends on !X86_VISWS
9         depends on !IA64_HP_SIM
10         depends on IA64 || X86
11         depends on PCI
12         depends on PM
13         select PNP
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_SLEEP
46         bool
47         depends on PM_SLEEP
48         default y
49
50 config ACPI_PROCFS
51         bool "Deprecated /proc/acpi files"
52         depends on PROC_FS
53         ---help---
54           For backwards compatibility, this option allows
55           deprecated /proc/acpi/ files to exist, even when
56           they have been replaced by functions in /sys.
57           The deprecated files (and their replacements) include:
58
59           /proc/acpi/sleep (/sys/power/state)
60           /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/
70 config ACPI_PROCFS_POWER
71         bool "Deprecated power /proc/acpi directories"
72         depends on PROC_FS
73         default y
74         ---help---
75           For backwards compatibility, this option allows
76           deprecated power /proc/acpi/ directories to exist, even when
77           they have been replaced by functions in /sys.
78           The deprecated directories (and their replacements) include:
79           /proc/acpi/battery/* (/sys/class/power_supply/*)
80           /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
81           This option has no effect on /proc/acpi/ directories
82           and functions, which do not yet exist in /sys
83
84           Say N to delete power /proc/acpi/ directories that have moved to /sys/
85
86 config 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
92
93 config ACPI_PROC_EVENT
94         bool "Deprecated /proc/acpi/event support"
95         depends on PROC_FS
96         default y
97         ---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
104           This build option enables the old code for legacy
105           user-space implementation.  After some time, this will
106           be moved under CONFIG_ACPI_PROCFS, and then deleted.
107
108           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
111 config ACPI_AC
112         tristate "AC Adapter"
113         depends on X86
114         default y
115         help
116           This driver adds support for the AC Adapter object, which indicates
117           whether a system is on AC, or not. If you have a system that can
118           switch between A/C and battery, say Y.
119
120 config ACPI_BATTERY
121         tristate "Battery"
122         depends on X86
123         default y
124         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
129 config ACPI_BUTTON
130         tristate "Button"
131         depends on INPUT
132         default y
133         help
134           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.
138
139 config ACPI_VIDEO
140         tristate "Video"
141         depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
142         depends on INPUT
143         select THERMAL
144         help
145           This driver implement the ACPI Extensions For Display Adapters
146           for integrated graphics devices on motherboard, as specified in
147           ACPI 2.0 Specification, Appendix B, allowing to perform some basic
148           control like defining the video POST device, retrieving EDID information
149           or to setup a video output, etc.
150           Note that this is an ref. implementation only.  It may or may not work
151           for your integrated video device.
152
153 config ACPI_FAN
154         tristate "Fan"
155         select THERMAL
156         default y
157         help
158           This driver adds support for ACPI fan devices, allowing user-mode 
159           applications to perform basic fan control (on, off, status).
160
161 config ACPI_DOCK
162         tristate "Dock"
163         depends on EXPERIMENTAL
164         help
165           This driver adds support for ACPI controlled docking stations
166
167 config ACPI_BAY
168         tristate "Removable Drive Bay (EXPERIMENTAL)"
169         depends on EXPERIMENTAL
170         depends on ACPI_DOCK
171         help
172           This driver adds support for ACPI controlled removable drive
173           bays such as the IBM ultrabay or the Dell Module Bay.
174
175 config ACPI_PROCESSOR
176         tristate "Processor"
177         select THERMAL
178         default y
179         help
180           This driver installs ACPI as the idle handler for Linux, and uses
181           ACPI C2 and C3 processor states to save power, on systems that
182           support it.  It is required by several flavors of cpufreq
183           Performance-state drivers.
184
185 config ACPI_HOTPLUG_CPU
186         bool
187         depends on ACPI_PROCESSOR && HOTPLUG_CPU
188         select ACPI_CONTAINER
189         default y
190
191 config ACPI_THERMAL
192         tristate "Thermal Zone"
193         depends on ACPI_PROCESSOR
194         select THERMAL
195         default y
196         help
197           This driver adds support for ACPI thermal zones.  Most mobile and
198           some desktop systems support ACPI thermal zones.  It is HIGHLY
199           recommended that this option be enabled, as your processor(s)
200           may be damaged without it.
201
202 config ACPI_NUMA
203         bool "NUMA support"
204         depends on NUMA
205         depends on (X86 || IA64)
206         default y if IA64_GENERIC || IA64_SGI_SN2
207
208 config ACPI_WMI
209         tristate "WMI (EXPERIMENTAL)"
210         depends on X86
211         depends on EXPERIMENTAL
212         help
213           This driver adds support for the ACPI-WMI (Windows Management
214           Instrumentation) mapper device (PNP0C14) found on some systems.
215
216           ACPI-WMI is a proprietary extension to ACPI to expose parts of the
217           ACPI firmware to userspace - this is done through various vendor
218           defined methods and data blocks in a PNP0C14 device, which are then
219           made available for userspace to call.
220
221           The implementation of this in Linux currently only exposes this to
222           other kernel space drivers.
223
224           This driver is a required dependency to build the firmware specific
225           drivers needed on many machines, including Acer and HP laptops.
226
227           It is safe to enable this driver even if your DSDT doesn't define
228           any ACPI-WMI devices.
229
230 config ACPI_ASUS
231         tristate "ASUS/Medion Laptop Extras"
232         depends on X86
233         select BACKLIGHT_CLASS_DEVICE
234         ---help---
235           This driver provides support for extra features of ACPI-compatible
236           ASUS laptops. As some of Medion laptops are made by ASUS, it may also
237           support some Medion laptops (such as 9675 for example).  It makes all
238           the extra buttons generate standard ACPI events that go through
239           /proc/acpi/events, and (on some models) adds support for changing the
240           display brightness and output, switching the LCD backlight on and off,
241           and most importantly, allows you to blink those fancy LEDs intended
242           for reporting mail and wireless status.
243
244           Note: display switching code is currently considered EXPERIMENTAL,
245           toying with these values may even lock your machine.
246
247           All settings are changed via /proc/acpi/asus directory entries. Owner
248           and group for these entries can be set with asus_uid and asus_gid
249           parameters.
250
251           More information and a userspace daemon for handling the extra buttons
252           at <http://sourceforge.net/projects/acpi4asus/>.
253
254           If you have an ACPI-compatible ASUS laptop, say Y or M here. This
255           driver is still under development, so if your laptop is unsupported or
256           something works not quite as expected, please use the mailing list
257           available on the above page (acpi4asus-user@lists.sourceforge.net).
258
259           NOTE: This driver is deprecated and will probably be removed soon,
260           use asus-laptop instead.
261
262 config ACPI_TOSHIBA
263         tristate "Toshiba Laptop Extras"
264         depends on X86
265         select BACKLIGHT_CLASS_DEVICE
266         ---help---
267           This driver adds support for access to certain system settings
268           on "legacy free" Toshiba laptops.  These laptops can be recognized by
269           their lack of a BIOS setup menu and APM support.
270
271           On these machines, all system configuration is handled through the
272           ACPI.  This driver is required for access to controls not covered
273           by the general ACPI drivers, such as LCD brightness, video output,
274           etc.
275
276           This driver differs from the non-ACPI Toshiba laptop driver (located
277           under "Processor type and features") in several aspects.
278           Configuration is accessed by reading and writing text files in the
279           /proc tree instead of by program interface to /dev.  Furthermore, no
280           power management functions are exposed, as those are handled by the
281           general ACPI drivers.
282
283           More information about this driver is available at
284           <http://memebeam.org/toys/ToshibaAcpiDriver>.
285
286           If you have a legacy free Toshiba laptop (such as the Libretto L1
287           series), say Y.
288
289 config ACPI_CUSTOM_DSDT_FILE
290         string "Custom DSDT Table file to include"
291         default ""
292         depends on !STANDALONE
293         help
294           This option supports a custom DSDT by linking it into the kernel.
295           See Documentation/acpi/dsdt-override.txt
296
297           Enter the full path name to the file which includes the AmlCode
298           declaration.
299
300           If unsure, don't enter a file name.
301
302 config ACPI_CUSTOM_DSDT
303         bool
304         default ACPI_CUSTOM_DSDT_FILE != ""
305
306 config ACPI_BLACKLIST_YEAR
307         int "Disable ACPI for systems before Jan 1st this year" if X86_32
308         default 0
309         help
310           enter a 4-digit year, eg. 2001 to disable ACPI by default
311           on platforms with DMI BIOS date before January 1st that year.
312           "acpi=force" can be used to override this mechanism.
313
314           Enter 0 to disable this mechanism and allow ACPI to
315           run by default no matter what the year.  (default)
316
317 config ACPI_DEBUG
318         bool "Debug Statements"
319         default n
320         help
321           The ACPI driver can optionally report errors with a great deal
322           of verbosity. Saying Y enables these statements. This will increase
323           your kernel size by around 50K.
324
325 config ACPI_DEBUG_FUNC_TRACE
326         bool "Additionally enable ACPI function tracing"
327         default n
328         depends on ACPI_DEBUG
329         help
330           ACPI Debug Statements slow down ACPI processing. Function trace
331           is about half of the penalty and is rarely useful.
332
333 config ACPI_EC
334         bool
335         default y
336         help
337           This driver is required on some systems for the proper operation of
338           the battery and thermal drivers.  If you are compiling for a 
339           mobile system, say Y.
340
341 config ACPI_POWER
342         bool
343         default y
344
345 config ACPI_SYSTEM
346         bool
347         default y
348         help
349           This driver will enable your system to shut down using ACPI, and
350           dump your ACPI DSDT table using /proc/acpi/dsdt.
351
352 config X86_PM_TIMER
353         bool "Power Management Timer Support" if EMBEDDED
354         depends on X86
355         default y
356         help
357           The Power Management Timer is available on all ACPI-capable,
358           in most cases even if ACPI is unusable or blacklisted.
359
360           This timing source is not affected by power management features
361           like aggressive processor idling, throttling, frequency and/or
362           voltage scaling, unlike the commonly used Time Stamp Counter
363           (TSC) timing source.
364
365           You should nearly always say Y here because many modern
366           systems require this timer. 
367
368 config ACPI_CONTAINER
369         tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
370         depends on EXPERIMENTAL
371         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
372          ---help---
373           This allows _physical_ insertion and removal of CPUs and memory.
374           This can be useful, for example, on NUMA machines that support
375           ACPI based physical hotplug of nodes, or non-NUMA machines that
376           support physical cpu/memory hot-plug.
377
378           If one selects "m", this driver can be loaded with
379           "modprobe acpi_container".
380
381 config ACPI_HOTPLUG_MEMORY
382         tristate "Memory Hotplug"
383         depends on MEMORY_HOTPLUG
384         default n
385         help
386           This driver adds supports for ACPI Memory Hotplug.  This driver
387           provides support for fielding notifications on ACPI memory
388           devices (PNP0C80) which represent memory ranges that may be
389           onlined or offlined during runtime.  
390
391           Enabling this driver assumes that your platform hardware
392           and firmware have support for hot-plugging physical memory. If
393           your system does not support physically adding or ripping out 
394           memory DIMMs at some platform defined granularity (individually 
395           or as a bank) at runtime, then you need not enable this driver.
396
397           If one selects "m," this driver can be loaded using the following
398           command: 
399                 $>modprobe acpi_memhotplug 
400
401 config ACPI_SBS
402         tristate "Smart Battery System"
403         depends on X86
404         help
405           This driver adds support for the Smart Battery System, another
406           type of access to battery information, found on some laptops.
407
408 endif   # ACPI