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