c95df0b8c8808e505f9dbfc7c8bcc68da48af57d
[pandora-kernel.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           <https://01.org/linux-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_EC_DEBUGFS
60         tristate "EC read/write access through /sys/kernel/debug/ec"
61         default n
62         help
63           Say N to disable Embedded Controller /sys/kernel/debug interface
64
65           Be aware that using this interface can confuse your Embedded
66           Controller in a way that a normal reboot is not enough. You then
67           have to power off your system, and remove the laptop battery for
68           some seconds.
69           An Embedded Controller typically is available on laptops and reads
70           sensor values like battery state and temperature.
71           The kernel accesses the EC through ACPI parsed code provided by BIOS
72           tables. This option allows to access the EC directly without ACPI
73           code being involved.
74           Thus this option is a debug option that helps to write ACPI drivers
75           and can be used to identify ACPI code or EC firmware bugs.
76
77 config ACPI_AC
78         tristate "AC Adapter"
79         depends on X86
80         select POWER_SUPPLY
81         default y
82         help
83           This driver supports the AC Adapter object, which indicates
84           whether a system is on AC or not.  If you have a system that can
85           switch between A/C and battery, say Y.
86
87           To compile this driver as a module, choose M here:
88           the module will be called ac.
89
90 config ACPI_BATTERY
91         tristate "Battery"
92         depends on X86
93         select POWER_SUPPLY
94         default y
95         help
96           This driver adds support for battery information through
97           /proc/acpi/battery. If you have a mobile system with a battery, 
98           say Y.
99
100           To compile this driver as a module, choose M here:
101           the module will be called battery.
102
103 config ACPI_BUTTON
104         tristate "Button"
105         depends on INPUT
106         default y
107         help
108           This driver handles events on the power, sleep, and lid buttons.
109           A daemon reads events from input devices or via netlink and
110           performs user-defined actions such as shutting down the system.
111           This is necessary for software-controlled poweroff.
112
113           To compile this driver as a module, choose M here:
114           the module will be called button.
115
116 config ACPI_VIDEO
117         tristate "Video"
118         depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
119         depends on INPUT
120         select THERMAL
121         help
122           This driver implements the ACPI Extensions For Display Adapters
123           for integrated graphics devices on motherboard, as specified in
124           ACPI 2.0 Specification, Appendix B.  This supports basic operations
125           such as defining the video POST device, retrieving EDID information,
126           and setting up a video output.
127
128           To compile this driver as a module, choose M here:
129           the module will be called video.
130
131 config ACPI_FAN
132         tristate "Fan"
133         select THERMAL
134         default y
135         help
136           This driver supports ACPI fan devices, allowing user-mode
137           applications to perform basic fan control (on, off, status).
138
139           To compile this driver as a module, choose M here:
140           the module will be called fan.
141
142 config ACPI_DOCK
143         bool "Dock"
144         help
145           This driver supports ACPI-controlled docking stations and removable
146           drive bays such as the IBM Ultrabay and the Dell Module Bay.
147
148 config ACPI_PROCESSOR
149         tristate "Processor"
150         select THERMAL
151         select CPU_IDLE
152         default y
153         help
154           This driver installs ACPI as the idle handler for Linux and uses
155           ACPI C2 and C3 processor states to save power on systems that
156           support it.  It is required by several flavors of cpufreq
157           performance-state drivers.
158
159           To compile this driver as a module, choose M here:
160           the module will be called processor.
161
162 config ACPI_IPMI
163         tristate "IPMI"
164         depends on IPMI_SI
165         default n
166         help
167           This driver enables the ACPI to access the BMC controller. And it
168           uses the IPMI request/response message to communicate with BMC
169           controller, which can be found on on the server.
170
171           To compile this driver as a module, choose M here:
172           the module will be called as acpi_ipmi.
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_PROCESSOR_AGGREGATOR
181         tristate "Processor Aggregator"
182         depends on ACPI_PROCESSOR
183         depends on X86
184         help
185           ACPI 4.0 defines processor Aggregator, which enables OS to perform
186           specific processor configuration and control that applies to all
187           processors in the platform. Currently only logical processor idling
188           is defined, which is to reduce power consumption. This driver
189           supports the new device.
190
191 config ACPI_THERMAL
192         tristate "Thermal Zone"
193         depends on ACPI_PROCESSOR
194         select THERMAL
195         default y
196         help
197           This driver supports ACPI thermal zones.  Most mobile and
198           some desktop systems support ACPI thermal zones.  It is HIGHLY
199           recommended that this option be enabled, as your processor(s)
200           may be damaged without it.
201
202           To compile this driver as a module, choose M here:
203           the module will be called thermal.
204
205 config ACPI_NUMA
206         bool "NUMA support"
207         depends on NUMA
208         depends on (X86 || IA64)
209         default y if IA64_GENERIC || IA64_SGI_SN2
210
211 config ACPI_CUSTOM_DSDT_FILE
212         string "Custom DSDT Table file to include"
213         default ""
214         depends on !STANDALONE
215         help
216           This option supports a custom DSDT by linking it into the kernel.
217           See Documentation/acpi/dsdt-override.txt
218
219           Enter the full path name to the file which includes the AmlCode
220           declaration.
221
222           If unsure, don't enter a file name.
223
224 config ACPI_CUSTOM_DSDT
225         bool
226         default ACPI_CUSTOM_DSDT_FILE != ""
227
228 config ACPI_INITRD_TABLE_OVERRIDE
229         bool "ACPI tables override via initrd"
230         depends on BLK_DEV_INITRD && X86
231         default n
232         help
233           This option provides functionality to override arbitrary ACPI tables
234           via initrd. No functional change if no ACPI tables are passed via
235           initrd, therefore it's safe to say Y.
236           See Documentation/acpi/initrd_table_override.txt for details
237
238 config ACPI_BLACKLIST_YEAR
239         int "Disable ACPI for systems before Jan 1st this year" if X86_32
240         default 0
241         help
242           Enter a 4-digit year, e.g., 2001, to disable ACPI by default
243           on platforms with DMI BIOS date before January 1st that year.
244           "acpi=force" can be used to override this mechanism.
245
246           Enter 0 to disable this mechanism and allow ACPI to
247           run by default no matter what the year.  (default)
248
249 config ACPI_DEBUG
250         bool "Debug Statements"
251         default n
252         help
253           The ACPI subsystem can produce debug output.  Saying Y enables this
254           output and increases the kernel size by around 50K.
255
256           Use the acpi.debug_layer and acpi.debug_level kernel command-line
257           parameters documented in Documentation/acpi/debug.txt and
258           Documentation/kernel-parameters.txt to control the type and
259           amount of debug output.
260
261 config ACPI_PCI_SLOT
262         bool "PCI slot detection driver"
263         depends on SYSFS
264         default n
265         help
266           This driver creates entries in /sys/bus/pci/slots/ for all PCI
267           slots in the system.  This can help correlate PCI bus addresses,
268           i.e., segment/bus/device/function tuples, with physical slots in
269           the system.  If you are unsure, say N.
270
271 config X86_PM_TIMER
272         bool "Power Management Timer Support" if EXPERT
273         depends on X86
274         default y
275         help
276           The Power Management Timer is available on all ACPI-capable,
277           in most cases even if ACPI is unusable or blacklisted.
278
279           This timing source is not affected by power management features
280           like aggressive processor idling, throttling, frequency and/or
281           voltage scaling, unlike the commonly used Time Stamp Counter
282           (TSC) timing source.
283
284           You should nearly always say Y here because many modern
285           systems require this timer. 
286
287 config ACPI_CONTAINER
288         bool "Container and Module Devices"
289         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
290         help
291           This driver supports ACPI Container and Module devices (IDs
292           ACPI0004, PNP0A05, and PNP0A06).
293
294           This helps support hotplug of nodes, CPUs, and memory.
295
296           To compile this driver as a module, choose M here:
297           the module will be called container.
298
299 config ACPI_HOTPLUG_MEMORY
300         bool "Memory Hotplug"
301         depends on MEMORY_HOTPLUG
302         help
303           This driver supports ACPI memory hotplug.  The driver
304           fields notifications on ACPI memory devices (PNP0C80),
305           which represent memory ranges that may be onlined or
306           offlined during runtime.
307
308           If your hardware and firmware do not support adding or
309           removing memory devices at runtime, you need not enable
310           this driver.
311
312           To compile this driver as a module, choose M here:
313           the module will be called acpi_memhotplug.
314
315 config ACPI_SBS
316         tristate "Smart Battery System"
317         depends on X86
318         select POWER_SUPPLY
319         help
320           This driver supports the Smart Battery System, another
321           type of access to battery information, found on some laptops.
322
323           To compile this driver as a module, choose M here:
324           the modules will be called sbs and sbshc.
325
326 config ACPI_HED
327         tristate "Hardware Error Device"
328         help
329           This driver supports the Hardware Error Device (PNP0C33),
330           which is used to report some hardware errors notified via
331           SCI, mainly the corrected errors.
332
333 config ACPI_CUSTOM_METHOD
334         tristate "Allow ACPI methods to be inserted/replaced at run time"
335         depends on DEBUG_FS
336         default n
337         help
338           This debug facility allows ACPI AML methods to be inserted and/or
339           replaced without rebooting the system. For details refer to:
340           Documentation/acpi/method-customizing.txt.
341
342           NOTE: This option is security sensitive, because it allows arbitrary
343           kernel memory to be written to by root (uid=0) users, allowing them
344           to bypass certain security measures (e.g. if root is not allowed to
345           load additional kernel modules after boot, this feature may be used
346           to override that restriction).
347
348 config ACPI_BGRT
349         bool "Boottime Graphics Resource Table support"
350         depends on EFI && X86
351         help
352           This driver adds support for exposing the ACPI Boottime Graphics
353           Resource Table, which allows the operating system to obtain
354           data from the firmware boot splash. It will appear under
355           /sys/firmware/acpi/bgrt/ .
356
357 source "drivers/acpi/apei/Kconfig"
358
359 config ACPI_EXTLOG
360         tristate "Extended Error Log support"
361         depends on X86_MCE && X86_LOCAL_APIC
362         select EFI
363         select UEFI_CPER
364         default n
365         help
366           Certain usages such as Predictive Failure Analysis (PFA) require
367           more information about the error than what can be described in
368           processor machine check banks. Most server processors log
369           additional information about the error in processor uncore
370           registers. Since the addresses and layout of these registers vary
371           widely from one processor to another, system software cannot
372           readily make use of them. To complicate matters further, some of
373           the additional error information cannot be constructed without
374           detailed knowledge about platform topology.
375
376           Enhanced MCA Logging allows firmware to provide additional error
377           information to system software, synchronous with MCE or CMCI. This
378           driver adds support for that functionality.
379
380 endif   # ACPI