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