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