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