3f3489c5ca8c3ade9d27adc657ea4cce27cc86f2
[linux-2.6.git] / 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         default y
13         help
14           Advanced Configuration and Power Interface (ACPI) support for 
15           Linux requires an ACPI-compliant platform (hardware/firmware),
16           and assumes the presence of OS-directed configuration and power
17           management (OSPM) software.  This option will enlarge your 
18           kernel by about 70K.
19
20           Linux ACPI provides a robust functional replacement for several 
21           legacy configuration and power management interfaces, including
22           the Plug-and-Play BIOS specification (PnP BIOS), the 
23           MultiProcessor Specification (MPS), and the Advanced Power 
24           Management (APM) specification.  If both ACPI and APM support 
25           are configured, ACPI is used.
26
27           The project home page for the Linux ACPI subsystem is here:
28           <http://www.lesswatts.org/projects/acpi/>
29
30           Linux support for ACPI is based on Intel Corporation's ACPI
31           Component Architecture (ACPI CA).  For more information on the
32           ACPI CA, see:
33           <http://acpica.org/>
34
35           ACPI is an open industry specification co-developed by
36           Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.
37           The specification is available at:
38           <http://www.acpi.info>
39
40 if ACPI
41
42 config ACPI_SLEEP
43         bool
44         depends on SUSPEND || HIBERNATION
45         default y
46
47 config ACPI_PROCFS
48         bool "Deprecated /proc/acpi files"
49         depends on PROC_FS
50         help
51           For backwards compatibility, this option allows
52           deprecated /proc/acpi/ files to exist, even when
53           they have been replaced by functions in /sys.
54           The deprecated files (and their replacements) include:
55
56           /proc/acpi/processor/*/throttling (/sys/class/thermal/
57                 cooling_device*/*)
58           /proc/acpi/video/*/brightness (/sys/class/backlight/)
59           /proc/acpi/thermal_zone/*/* (/sys/class/thermal/)
60           This option has no effect on /proc/acpi/ files
61           and functions which do not yet exist in /sys.
62
63           Say N to delete /proc/acpi/ files that have moved to /sys/
64
65 config ACPI_PROCFS_POWER
66         bool "Deprecated power /proc/acpi directories"
67         depends on PROC_FS
68         help
69           For backwards compatibility, this option allows
70           deprecated power /proc/acpi/ directories to exist, even when
71           they have been replaced by functions in /sys.
72           The deprecated directories (and their replacements) include:
73           /proc/acpi/battery/* (/sys/class/power_supply/*)
74           /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
75           This option has no effect on /proc/acpi/ directories
76           and functions, which do not yet exist in /sys
77
78           Say N to delete power /proc/acpi/ directories that have moved to /sys/
79
80 config ACPI_POWER_METER
81         tristate "ACPI 4.0 power meter"
82         depends on HWMON
83         help
84           This driver exposes ACPI 4.0 power meters as hardware monitoring
85           devices.  Say Y (or M) if you have a computer with ACPI 4.0 firmware
86           and a power meter.
87
88           To compile this driver as a module, choose M here:
89           the module will be called power-meter.
90
91 config ACPI_EC_DEBUGFS
92         tristate "EC read/write access through /sys/kernel/debug/ec"
93         default n
94         help
95           Say N to disable Embedded Controller /sys/kernel/debug interface
96
97           Be aware that using this interface can confuse your Embedded
98           Controller in a way that a normal reboot is not enough. You then
99           have to power off your system, and remove the laptop battery for
100           some seconds.
101           An Embedded Controller typically is available on laptops and reads
102           sensor values like battery state and temperature.
103           The kernel accesses the EC through ACPI parsed code provided by BIOS
104           tables. This option allows to access the EC directly without ACPI
105           code being involved.
106           Thus this option is a debug option that helps to write ACPI drivers
107           and can be used to identify ACPI code or EC firmware bugs.
108
109 config ACPI_PROC_EVENT
110         bool "Deprecated /proc/acpi/event support"
111         depends on PROC_FS
112         default y
113         help
114           A user-space daemon, acpid, typically reads /proc/acpi/event
115           and handles all ACPI-generated events.
116
117           These events are now delivered to user-space either
118           via the input layer or as netlink events.
119
120           This build option enables the old code for legacy
121           user-space implementation.  After some time, this will
122           be moved under CONFIG_ACPI_PROCFS, and then deleted.
123
124           Say Y here to retain the old behaviour.  Say N if your
125           user-space is newer than kernel 2.6.23 (September 2007).
126
127 config ACPI_AC
128         tristate "AC Adapter"
129         depends on X86
130         select POWER_SUPPLY
131         default y
132         help
133           This driver supports the AC Adapter object, which indicates
134           whether a system is on AC or not.  If you have a system that can
135           switch between A/C and battery, say Y.
136
137           To compile this driver as a module, choose M here:
138           the module will be called ac.
139
140 config ACPI_BATTERY
141         tristate "Battery"
142         depends on X86
143         select POWER_SUPPLY
144         default y
145         help
146           This driver adds support for battery information through
147           /proc/acpi/battery. If you have a mobile system with a battery, 
148           say Y.
149
150           To compile this driver as a module, choose M here:
151           the module will be called battery.
152
153 config ACPI_BUTTON
154         tristate "Button"
155         depends on INPUT
156         default y
157         help
158           This driver handles events on the power, sleep, and lid buttons.
159           A daemon reads /proc/acpi/event and perform user-defined actions
160           such as shutting down the system.  This is necessary for
161           software-controlled poweroff.
162
163           To compile this driver as a module, choose M here:
164           the module will be called button.
165
166 config ACPI_VIDEO
167         tristate "Video"
168         depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
169         depends on INPUT
170         select THERMAL
171         help
172           This driver implements the ACPI Extensions For Display Adapters
173           for integrated graphics devices on motherboard, as specified in
174           ACPI 2.0 Specification, Appendix B.  This supports basic operations
175           such as defining the video POST device, retrieving EDID information,
176           and setting up a video output.
177
178           To compile this driver as a module, choose M here:
179           the module will be called video.
180
181 config ACPI_FAN
182         tristate "Fan"
183         select THERMAL
184         default y
185         help
186           This driver supports ACPI fan devices, allowing user-mode
187           applications to perform basic fan control (on, off, status).
188
189           To compile this driver as a module, choose M here:
190           the module will be called fan.
191
192 config ACPI_DOCK
193         bool "Dock"
194         depends on EXPERIMENTAL
195         help
196           This driver supports ACPI-controlled docking stations and removable
197           drive bays such as the IBM Ultrabay and the Dell Module Bay.
198
199 config ACPI_PROCESSOR
200         tristate "Processor"
201         select THERMAL
202         select CPU_IDLE
203         default y
204         help
205           This driver installs ACPI as the idle handler for Linux and uses
206           ACPI C2 and C3 processor states to save power on systems that
207           support it.  It is required by several flavors of cpufreq
208           performance-state drivers.
209
210           To compile this driver as a module, choose M here:
211           the module will be called processor.
212
213 config ACPI_HOTPLUG_CPU
214         bool
215         depends on ACPI_PROCESSOR && HOTPLUG_CPU
216         select ACPI_CONTAINER
217         default y
218
219 config ACPI_PROCESSOR_AGGREGATOR
220         tristate "Processor Aggregator"
221         depends on ACPI_PROCESSOR
222         depends on EXPERIMENTAL
223         depends on X86
224         help
225           ACPI 4.0 defines processor Aggregator, which enables OS to perform
226           specific processor configuration and control that applies to all
227           processors in the platform. Currently only logical processor idling
228           is defined, which is to reduce power consumption. This driver
229           supports the new device.
230
231 config ACPI_THERMAL
232         tristate "Thermal Zone"
233         depends on ACPI_PROCESSOR
234         select THERMAL
235         default y
236         help
237           This driver supports ACPI thermal zones.  Most mobile and
238           some desktop systems support ACPI thermal zones.  It is HIGHLY
239           recommended that this option be enabled, as your processor(s)
240           may be damaged without it.
241
242           To compile this driver as a module, choose M here:
243           the module will be called thermal.
244
245 config ACPI_NUMA
246         bool "NUMA support"
247         depends on NUMA
248         depends on (X86 || IA64)
249         default y if IA64_GENERIC || IA64_SGI_SN2
250
251 config ACPI_CUSTOM_DSDT_FILE
252         string "Custom DSDT Table file to include"
253         default ""
254         depends on !STANDALONE
255         help
256           This option supports a custom DSDT by linking it into the kernel.
257           See Documentation/acpi/dsdt-override.txt
258
259           Enter the full path name to the file which includes the AmlCode
260           declaration.
261
262           If unsure, don't enter a file name.
263
264 config ACPI_CUSTOM_DSDT
265         bool
266         default ACPI_CUSTOM_DSDT_FILE != ""
267
268 config ACPI_BLACKLIST_YEAR
269         int "Disable ACPI for systems before Jan 1st this year" if X86_32
270         default 0
271         help
272           Enter a 4-digit year, e.g., 2001, to disable ACPI by default
273           on platforms with DMI BIOS date before January 1st that year.
274           "acpi=force" can be used to override this mechanism.
275
276           Enter 0 to disable this mechanism and allow ACPI to
277           run by default no matter what the year.  (default)
278
279 config ACPI_DEBUG
280         bool "Debug Statements"
281         default n
282         help
283           The ACPI subsystem can produce debug output.  Saying Y enables this
284           output and increases the kernel size by around 50K.
285
286           Use the acpi.debug_layer and acpi.debug_level kernel command-line
287           parameters documented in Documentation/acpi/debug.txt and
288           Documentation/kernel-parameters.txt to control the type and
289           amount of debug output.
290
291 config ACPI_DEBUG_FUNC_TRACE
292         bool "Additionally enable ACPI function tracing"
293         default n
294         depends on ACPI_DEBUG
295         help
296           ACPI Debug Statements slow down ACPI processing. Function trace
297           is about half of the penalty and is rarely useful.
298
299 config ACPI_PCI_SLOT
300         tristate "PCI slot detection driver"
301         depends on SYSFS
302         default n
303         help
304           This driver creates entries in /sys/bus/pci/slots/ for all PCI
305           slots in the system.  This can help correlate PCI bus addresses,
306           i.e., segment/bus/device/function tuples, with physical slots in
307           the system.  If you are unsure, say N.
308
309           To compile this driver as a module, choose M here:
310           the module will be called pci_slot.
311
312 config X86_PM_TIMER
313         bool "Power Management Timer Support" if EMBEDDED
314         depends on X86
315         default y
316         help
317           The Power Management Timer is available on all ACPI-capable,
318           in most cases even if ACPI is unusable or blacklisted.
319
320           This timing source is not affected by power management features
321           like aggressive processor idling, throttling, frequency and/or
322           voltage scaling, unlike the commonly used Time Stamp Counter
323           (TSC) timing source.
324
325           You should nearly always say Y here because many modern
326           systems require this timer. 
327
328 config ACPI_CONTAINER
329         tristate "Container and Module Devices (EXPERIMENTAL)"
330         depends on EXPERIMENTAL
331         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
332         help
333           This driver supports ACPI Container and Module devices (IDs
334           ACPI0004, PNP0A05, and PNP0A06).
335
336           This helps support hotplug of nodes, CPUs, and memory.
337
338           To compile this driver as a module, choose M here:
339           the module will be called container.
340
341 config ACPI_HOTPLUG_MEMORY
342         tristate "Memory Hotplug"
343         depends on MEMORY_HOTPLUG
344         default n
345         help
346           This driver supports ACPI memory hotplug.  The driver
347           fields notifications on ACPI memory devices (PNP0C80),
348           which represent memory ranges that may be onlined or
349           offlined during runtime.
350
351           If your hardware and firmware do not support adding or
352           removing memory devices at runtime, you need not enable
353           this driver.
354
355           To compile this driver as a module, choose M here:
356           the module will be called acpi_memhotplug.
357
358 config ACPI_SBS
359         tristate "Smart Battery System"
360         depends on X86
361         select POWER_SUPPLY
362         help
363           This driver supports the Smart Battery System, another
364           type of access to battery information, found on some laptops.
365
366           To compile this driver as a module, choose M here:
367           the modules will be called sbs and sbshc.
368
369 config ACPI_HED
370         tristate "Hardware Error Device"
371         help
372           This driver supports the Hardware Error Device (PNP0C33),
373           which is used to report some hardware errors notified via
374           SCI, mainly the corrected errors.
375
376 source "drivers/acpi/apei/Kconfig"
377
378 endif   # ACPI