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