Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
[linux-2.6] / drivers / acpi / Kconfig
1 #
2 # ACPI Configuration
3 #
4
5 menuconfig ACPI
6         bool "ACPI (Advanced Configuration and Power Interface) Support"
7         depends on !IA64_HP_SIM
8         depends on IA64 || X86
9         depends on PCI
10         depends on PM
11         select PNP
12         select CPU_IDLE
13         default y
14         ---help---
15           Advanced Configuration and Power Interface (ACPI) support for 
16           Linux requires an ACPI compliant platform (hardware/firmware),
17           and assumes the presence of OS-directed configuration and power
18           management (OSPM) software.  This option will enlarge your 
19           kernel by about 70K.
20
21           Linux ACPI provides a robust functional replacement for several 
22           legacy configuration and power management interfaces, including
23           the Plug-and-Play BIOS specification (PnP BIOS), the 
24           MultiProcessor Specification (MPS), and the Advanced Power 
25           Management (APM) specification.  If both ACPI and APM support 
26           are configured, whichever is loaded first shall be used.
27
28           The ACPI SourceForge project contains the latest source code, 
29           documentation, tools, mailing list subscription, and other 
30           information.  This project is available at:
31           <http://sourceforge.net/projects/acpi>
32
33           Linux support for ACPI is based on Intel Corporation's ACPI
34           Component Architecture (ACPI CA).  For more information see:
35           <http://developer.intel.com/technology/iapc/acpi>
36
37           ACPI is an open industry specification co-developed by Compaq, 
38           Intel, Microsoft, Phoenix, and Toshiba.  The specification is 
39           available at:
40           <http://www.acpi.info>
41
42 if ACPI
43
44 config ACPI_SLEEP
45         bool
46         depends on SUSPEND || HIBERNATION
47         default y
48
49 config ACPI_PROCFS
50         bool "Deprecated /proc/acpi files"
51         depends on PROC_FS
52         ---help---
53           For backwards compatibility, this option allows
54           deprecated /proc/acpi/ files to exist, even when
55           they have been replaced by functions in /sys.
56           The deprecated files (and their replacements) include:
57
58           /proc/acpi/sleep (/sys/power/state)
59           /proc/acpi/info (/sys/modules/acpi/parameters/acpica_version)
60           /proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT)
61           /proc/acpi/fadt (/sys/firmware/acpi/tables/FACP)
62           /proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer)
63           /proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level)
64
65           This option has no effect on /proc/acpi/ files
66           and functions which do not yet exist in /sys.
67
68           Say N to delete /proc/acpi/ files that have moved to /sys/
69 config ACPI_PROCFS_POWER
70         bool "Deprecated power /proc/acpi directories"
71         depends on PROC_FS
72         default y
73         ---help---
74           For backwards compatibility, this option allows
75           deprecated power /proc/acpi/ directories to exist, even when
76           they have been replaced by functions in /sys.
77           The deprecated directories (and their replacements) include:
78           /proc/acpi/battery/* (/sys/class/power_supply/*)
79           /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
80           This option has no effect on /proc/acpi/ directories
81           and functions, which do not yet exist in /sys
82
83           Say N to delete power /proc/acpi/ directories that have moved to /sys/
84
85 config ACPI_SYSFS_POWER
86         bool "Future power /sys interface"
87         select POWER_SUPPLY
88         default y
89         ---help---
90           Say N to disable power /sys interface
91
92 config ACPI_PROC_EVENT
93         bool "Deprecated /proc/acpi/event support"
94         depends on PROC_FS
95         default y
96         ---help---
97           A user-space daemon, acpi, typically read /proc/acpi/event
98           and handled all ACPI sub-system generated events.
99
100           These events are now delivered to user-space via
101           either the input layer, or as netlink events.
102
103           This build option enables the old code for legacy
104           user-space implementation.  After some time, this will
105           be moved under CONFIG_ACPI_PROCFS, and then deleted.
106
107           Say Y here to retain the old behaviour.  Say N if your
108           user-space is newer than kernel 2.6.23 (September 2007).
109
110 config ACPI_AC
111         tristate "AC Adapter"
112         depends on X86
113         default y
114         help
115           This driver adds support for the AC Adapter object, which indicates
116           whether a system is on AC, or not. If you have a system that can
117           switch between A/C and battery, say Y.
118
119 config ACPI_BATTERY
120         tristate "Battery"
121         depends on X86
122         default y
123         help
124           This driver adds support for battery information through
125           /proc/acpi/battery. If you have a mobile system with a battery, 
126           say Y.
127
128 config ACPI_BUTTON
129         tristate "Button"
130         depends on INPUT
131         default y
132         help
133           This driver handles events on the power, sleep and lid buttons.
134           A daemon reads /proc/acpi/event and perform user-defined actions
135           such as shutting down the system.  This is necessary for
136           software controlled poweroff.
137
138 config ACPI_VIDEO
139         tristate "Video"
140         depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
141         depends on INPUT
142         select THERMAL
143         help
144           This driver implement the ACPI Extensions For Display Adapters
145           for integrated graphics devices on motherboard, as specified in
146           ACPI 2.0 Specification, Appendix B, allowing to perform some basic
147           control like defining the video POST device, retrieving EDID information
148           or to setup a video output, etc.
149           Note that this is an ref. implementation only.  It may or may not work
150           for your integrated video device.
151
152 config ACPI_FAN
153         tristate "Fan"
154         select THERMAL
155         default y
156         help
157           This driver adds support for ACPI fan devices, allowing user-mode 
158           applications to perform basic fan control (on, off, status).
159
160 config ACPI_DOCK
161         bool "Dock"
162         depends on EXPERIMENTAL
163         help
164           This driver adds support for ACPI controlled docking stations and removable
165           drive bays such as the IBM ultrabay or the Dell Module Bay.
166
167 config ACPI_PROCESSOR
168         tristate "Processor"
169         select THERMAL
170         default y
171         help
172           This driver installs ACPI as the idle handler for Linux, and uses
173           ACPI C2 and C3 processor states to save power, on systems that
174           support it.  It is required by several flavors of cpufreq
175           Performance-state drivers.
176
177 config ACPI_HOTPLUG_CPU
178         bool
179         depends on ACPI_PROCESSOR && HOTPLUG_CPU
180         select ACPI_CONTAINER
181         default y
182
183 config ACPI_THERMAL
184         tristate "Thermal Zone"
185         depends on ACPI_PROCESSOR
186         select THERMAL
187         default y
188         help
189           This driver adds support for ACPI thermal zones.  Most mobile and
190           some desktop systems support ACPI thermal zones.  It is HIGHLY
191           recommended that this option be enabled, as your processor(s)
192           may be damaged without it.
193
194 config ACPI_NUMA
195         bool "NUMA support"
196         depends on NUMA
197         depends on (X86 || IA64)
198         default y if IA64_GENERIC || IA64_SGI_SN2
199
200 config ACPI_CUSTOM_DSDT_FILE
201         string "Custom DSDT Table file to include"
202         default ""
203         depends on !STANDALONE
204         help
205           This option supports a custom DSDT by linking it into the kernel.
206           See Documentation/acpi/dsdt-override.txt
207
208           Enter the full path name to the file which includes the AmlCode
209           declaration.
210
211           If unsure, don't enter a file name.
212
213 config ACPI_CUSTOM_DSDT
214         bool
215         default ACPI_CUSTOM_DSDT_FILE != ""
216
217 config ACPI_BLACKLIST_YEAR
218         int "Disable ACPI for systems before Jan 1st this year" if X86_32
219         default 0
220         help
221           enter a 4-digit year, eg. 2001 to disable ACPI by default
222           on platforms with DMI BIOS date before January 1st that year.
223           "acpi=force" can be used to override this mechanism.
224
225           Enter 0 to disable this mechanism and allow ACPI to
226           run by default no matter what the year.  (default)
227
228 config ACPI_DEBUG
229         bool "Debug Statements"
230         default n
231         help
232           The ACPI subsystem can produce debug output.  Saying Y enables this
233           output and increases the kernel size by around 50K.
234
235           Use the acpi.debug_layer and acpi.debug_level kernel command-line
236           parameters documented in Documentation/acpi/debug.txt and
237           Documentation/kernel-parameters.txt to control the type and
238           amount of debug output.
239
240 config ACPI_DEBUG_FUNC_TRACE
241         bool "Additionally enable ACPI function tracing"
242         default n
243         depends on ACPI_DEBUG
244         help
245           ACPI Debug Statements slow down ACPI processing. Function trace
246           is about half of the penalty and is rarely useful.
247
248 config ACPI_PCI_SLOT
249         tristate "PCI slot detection driver"
250         default n
251         help
252           This driver will attempt to discover all PCI slots in your system,
253           and creates entries in /sys/bus/pci/slots/. This feature can
254           help you correlate PCI bus addresses with the physical geography
255           of your slots. If you are unsure, say N.
256
257 config ACPI_SYSTEM
258         bool
259         default y
260         help
261           This driver will enable your system to shut down using ACPI, and
262           dump your ACPI DSDT table using /proc/acpi/dsdt.
263
264 config X86_PM_TIMER
265         bool "Power Management Timer Support" if EMBEDDED
266         depends on X86
267         default y
268         help
269           The Power Management Timer is available on all ACPI-capable,
270           in most cases even if ACPI is unusable or blacklisted.
271
272           This timing source is not affected by power management features
273           like aggressive processor idling, throttling, frequency and/or
274           voltage scaling, unlike the commonly used Time Stamp Counter
275           (TSC) timing source.
276
277           You should nearly always say Y here because many modern
278           systems require this timer. 
279
280 config ACPI_CONTAINER
281         tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
282         depends on EXPERIMENTAL
283         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
284          ---help---
285           This allows _physical_ insertion and removal of CPUs and memory.
286           This can be useful, for example, on NUMA machines that support
287           ACPI based physical hotplug of nodes, or non-NUMA machines that
288           support physical cpu/memory hot-plug.
289
290           If one selects "m", this driver can be loaded with
291           "modprobe container".
292
293 config ACPI_HOTPLUG_MEMORY
294         tristate "Memory Hotplug"
295         depends on MEMORY_HOTPLUG
296         default n
297         help
298           This driver adds supports for ACPI Memory Hotplug.  This driver
299           provides support for fielding notifications on ACPI memory
300           devices (PNP0C80) which represent memory ranges that may be
301           onlined or offlined during runtime.  
302
303           Enabling this driver assumes that your platform hardware
304           and firmware have support for hot-plugging physical memory. If
305           your system does not support physically adding or ripping out 
306           memory DIMMs at some platform defined granularity (individually 
307           or as a bank) at runtime, then you need not enable this driver.
308
309           If one selects "m," this driver can be loaded using the following
310           command: 
311                 $>modprobe acpi_memhotplug 
312
313 config ACPI_SBS
314         tristate "Smart Battery System"
315         depends on X86
316         help
317           This driver adds support for the Smart Battery System, another
318           type of access to battery information, found on some laptops.
319
320 endif   # ACPI