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