Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
[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         help
153           This driver adds support for ACPI controlled removable drive
154           bays such as the IBM ultrabay or the Dell Module Bay.
155
156 config ACPI_PROCESSOR
157         tristate "Processor"
158         default y
159         help
160           This driver installs ACPI as the idle handler for Linux, and uses
161           ACPI C2 and C3 processor states to save power, on systems that
162           support it.  It is required by several flavors of cpufreq
163           Performance-state drivers.
164
165 config ACPI_HOTPLUG_CPU
166         bool
167         depends on ACPI_PROCESSOR && HOTPLUG_CPU
168         select ACPI_CONTAINER
169         default y
170
171 config ACPI_THERMAL
172         tristate "Thermal Zone"
173         depends on ACPI_PROCESSOR
174         default y
175         help
176           This driver adds support for ACPI thermal zones.  Most mobile and
177           some desktop systems support ACPI thermal zones.  It is HIGHLY
178           recommended that this option be enabled, as your processor(s)
179           may be damaged without it.
180
181 config ACPI_NUMA
182         bool "NUMA support"
183         depends on NUMA
184         depends on (X86 || IA64)
185         default y if IA64_GENERIC || IA64_SGI_SN2
186
187 config ACPI_ASUS
188         tristate "ASUS/Medion Laptop Extras"
189         depends on X86
190         select BACKLIGHT_CLASS_DEVICE
191         ---help---
192           This driver provides support for extra features of ACPI-compatible
193           ASUS laptops. As some of Medion laptops are made by ASUS, it may also
194           support some Medion laptops (such as 9675 for example).  It makes all
195           the extra buttons generate standard ACPI events that go through
196           /proc/acpi/events, and (on some models) adds support for changing the
197           display brightness and output, switching the LCD backlight on and off,
198           and most importantly, allows you to blink those fancy LEDs intended
199           for reporting mail and wireless status.
200
201           Note: display switching code is currently considered EXPERIMENTAL,
202           toying with these values may even lock your machine.
203
204           All settings are changed via /proc/acpi/asus directory entries. Owner
205           and group for these entries can be set with asus_uid and asus_gid
206           parameters.
207
208           More information and a userspace daemon for handling the extra buttons
209           at <http://sourceforge.net/projects/acpi4asus/>.
210
211           If you have an ACPI-compatible ASUS laptop, say Y or M here. This
212           driver is still under development, so if your laptop is unsupported or
213           something works not quite as expected, please use the mailing list
214           available on the above page (acpi4asus-user@lists.sourceforge.net).
215
216           NOTE: This driver is deprecated and will probably be removed soon,
217           use asus-laptop instead.
218
219 config ACPI_IBM
220         tristate "IBM ThinkPad Laptop Extras"
221         depends on X86
222         select BACKLIGHT_CLASS_DEVICE
223         ---help---
224           This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
225           support for Fn-Fx key combinations, Bluetooth control, video
226           output switching, ThinkLight control, UltraBay eject and more.
227           For more information about this driver see <file:Documentation/ibm-acpi.txt>
228           and <http://ibm-acpi.sf.net/> .
229
230           If you have an IBM ThinkPad laptop, say Y or M here.
231
232 config ACPI_IBM_DOCK
233         bool "Legacy Docking Station Support"
234         depends on ACPI_IBM
235         depends on ACPI_DOCK=n
236         default n
237         ---help---
238           Allows the ibm_acpi driver to handle docking station events.
239           This support is obsoleted by CONFIG_HOTPLUG_PCI_ACPI.  It will
240           allow locking and removing the laptop from the docking station,
241           but will not properly connect PCI devices.
242
243           If you are not sure, say N here.
244
245 config ACPI_TOSHIBA
246         tristate "Toshiba Laptop Extras"
247         depends on X86
248         select BACKLIGHT_CLASS_DEVICE
249         ---help---
250           This driver adds support for access to certain system settings
251           on "legacy free" Toshiba laptops.  These laptops can be recognized by
252           their lack of a BIOS setup menu and APM support.
253
254           On these machines, all system configuration is handled through the
255           ACPI.  This driver is required for access to controls not covered
256           by the general ACPI drivers, such as LCD brightness, video output,
257           etc.
258
259           This driver differs from the non-ACPI Toshiba laptop driver (located
260           under "Processor type and features") in several aspects.
261           Configuration is accessed by reading and writing text files in the
262           /proc tree instead of by program interface to /dev.  Furthermore, no
263           power management functions are exposed, as those are handled by the
264           general ACPI drivers.
265
266           More information about this driver is available at
267           <http://memebeam.org/toys/ToshibaAcpiDriver>.
268
269           If you have a legacy free Toshiba laptop (such as the Libretto L1
270           series), say Y.
271
272 config ACPI_CUSTOM_DSDT
273         bool "Include Custom DSDT"
274         depends on !STANDALONE
275         default n 
276         help
277           This option is to load a custom ACPI DSDT
278           If you don't know what that is, say N.
279
280 config ACPI_CUSTOM_DSDT_FILE
281         string "Custom DSDT Table file to include"
282         depends on ACPI_CUSTOM_DSDT
283         default ""
284         help
285           Enter the full path name to the file which includes the AmlCode
286           declaration.
287
288 config ACPI_BLACKLIST_YEAR
289         int "Disable ACPI for systems before Jan 1st this year" if X86_32
290         default 0
291         help
292           enter a 4-digit year, eg. 2001 to disable ACPI by default
293           on platforms with DMI BIOS date before January 1st that year.
294           "acpi=force" can be used to override this mechanism.
295
296           Enter 0 to disable this mechanism and allow ACPI to
297           run by default no matter what the year.  (default)
298
299 config ACPI_DEBUG
300         bool "Debug Statements"
301         default n
302         help
303           The ACPI driver can optionally report errors with a great deal
304           of verbosity. Saying Y enables these statements. This will increase
305           your kernel size by around 50K.
306
307 config ACPI_EC
308         bool
309         default y
310         help
311           This driver is required on some systems for the proper operation of
312           the battery and thermal drivers.  If you are compiling for a 
313           mobile system, say Y.
314
315 config ACPI_POWER
316         bool
317         default y
318
319 config ACPI_SYSTEM
320         bool
321         default y
322         help
323           This driver will enable your system to shut down using ACPI, and
324           dump your ACPI DSDT table using /proc/acpi/dsdt.
325
326 config X86_PM_TIMER
327         bool "Power Management Timer Support" if EMBEDDED
328         depends on X86
329         default y
330         help
331           The Power Management Timer is available on all ACPI-capable,
332           in most cases even if ACPI is unusable or blacklisted.
333
334           This timing source is not affected by power management features
335           like aggressive processor idling, throttling, frequency and/or
336           voltage scaling, unlike the commonly used Time Stamp Counter
337           (TSC) timing source.
338
339           You should nearly always say Y here because many modern
340           systems require this timer. 
341
342 config ACPI_CONTAINER
343         tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
344         depends on EXPERIMENTAL
345         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
346          ---help---
347           This allows _physical_ insertion and removal of CPUs and memory.
348           This can be useful, for example, on NUMA machines that support
349           ACPI based physical hotplug of nodes, or non-NUMA machines that
350           support physical cpu/memory hot-plug.
351
352           If one selects "m", this driver can be loaded with
353           "modprobe acpi_container".
354
355 config ACPI_HOTPLUG_MEMORY
356         tristate "Memory Hotplug"
357         depends on ACPI
358         depends on MEMORY_HOTPLUG
359         default n
360         help
361           This driver adds supports for ACPI Memory Hotplug.  This driver
362           provides support for fielding notifications on ACPI memory
363           devices (PNP0C80) which represent memory ranges that may be
364           onlined or offlined during runtime.  
365
366           Enabling this driver assumes that your platform hardware
367           and firmware have support for hot-plugging physical memory. If
368           your system does not support physically adding or ripping out 
369           memory DIMMs at some platform defined granularity (individually 
370           or as a bank) at runtime, then you need not enable this driver.
371
372           If one selects "m," this driver can be loaded using the following
373           command: 
374                 $>modprobe acpi_memhotplug 
375
376 config ACPI_SBS
377         tristate "Smart Battery System (EXPERIMENTAL)"
378         depends on X86 && I2C
379         depends on EXPERIMENTAL
380         help
381           This driver adds support for the Smart Battery System.
382           Depends on I2C (Device Drivers ---> I2C support)
383           A "Smart Battery" is quite old and quite rare compared
384           to today's ACPI "Control Method" battery.
385
386 endif   # ACPI
387
388 endmenu