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