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