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