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