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