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