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