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