PM / sleep: Asynchronous threads for suspend_noirq
[linux/fpc-iii.git] / drivers / acpi / Kconfig
blob4770de5707b9b9eb0a4c27f14c7ec9ad13035257
2 # ACPI Configuration
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.
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.
26           The project home page for the Linux ACPI subsystem is here:
27           <https://01.org/linux-acpi>
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/>
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>
39 if ACPI
41 config ACPI_SLEEP
42         bool
43         depends on SUSPEND || HIBERNATION
44         default y
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.
54           This option has no effect on /proc/acpi/ files
55           and functions which do not yet exist in /sys.
57           Say N to delete /proc/acpi/ files that have moved to /sys/
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
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.
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.
87           To compile this driver as a module, choose M here:
88           the module will be called ac.
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.
100           To compile this driver as a module, choose M here:
101           the module will be called battery.
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.
113           To compile this driver as a module, choose M here:
114           the module will be called button.
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.
128           To compile this driver as a module, choose M here:
129           the module will be called video.
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).
139           To compile this driver as a module, choose M here:
140           the module will be called fan.
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.
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.
159           To compile this driver as a module, choose M here:
160           the module will be called processor.
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.
171           To compile this driver as a module, choose M here:
172           the module will be called as acpi_ipmi.
174 config ACPI_HOTPLUG_CPU
175         bool
176         depends on ACPI_PROCESSOR && HOTPLUG_CPU
177         select ACPI_CONTAINER
178         default y
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.
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.
202           To compile this driver as a module, choose M here:
203           the module will be called thermal.
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
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
219           Enter the full path name to the file which includes the AmlCode
220           declaration.
222           If unsure, don't enter a file name.
224 config ACPI_CUSTOM_DSDT
225         bool
226         default ACPI_CUSTOM_DSDT_FILE != ""
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
238 config ACPI_DEBUG
239         bool "Debug Statements"
240         default n
241         help
242           The ACPI subsystem can produce debug output.  Saying Y enables this
243           output and increases the kernel size by around 50K.
245           Use the acpi.debug_layer and acpi.debug_level kernel command-line
246           parameters documented in Documentation/acpi/debug.txt and
247           Documentation/kernel-parameters.txt to control the type and
248           amount of debug output.
250 config ACPI_PCI_SLOT
251         bool "PCI slot detection driver"
252         depends on SYSFS
253         default n
254         help
255           This driver creates entries in /sys/bus/pci/slots/ for all PCI
256           slots in the system.  This can help correlate PCI bus addresses,
257           i.e., segment/bus/device/function tuples, with physical slots in
258           the system.  If you are unsure, say N.
260 config X86_PM_TIMER
261         bool "Power Management Timer Support" if EXPERT
262         depends on X86
263         default y
264         help
265           The Power Management Timer is available on all ACPI-capable,
266           in most cases even if ACPI is unusable or blacklisted.
268           This timing source is not affected by power management features
269           like aggressive processor idling, throttling, frequency and/or
270           voltage scaling, unlike the commonly used Time Stamp Counter
271           (TSC) timing source.
273           You should nearly always say Y here because many modern
274           systems require this timer. 
276 config ACPI_CONTAINER
277         bool "Container and Module Devices"
278         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
279         help
280           This driver supports ACPI Container and Module devices (IDs
281           ACPI0004, PNP0A05, and PNP0A06).
283           This helps support hotplug of nodes, CPUs, and memory.
285           To compile this driver as a module, choose M here:
286           the module will be called container.
288 config ACPI_HOTPLUG_MEMORY
289         bool "Memory Hotplug"
290         depends on MEMORY_HOTPLUG
291         help
292           This driver supports ACPI memory hotplug.  The driver
293           fields notifications on ACPI memory devices (PNP0C80),
294           which represent memory ranges that may be onlined or
295           offlined during runtime.
297           If your hardware and firmware do not support adding or
298           removing memory devices at runtime, you need not enable
299           this driver.
301           To compile this driver as a module, choose M here:
302           the module will be called acpi_memhotplug.
304 config ACPI_SBS
305         tristate "Smart Battery System"
306         depends on X86
307         select POWER_SUPPLY
308         help
309           This driver supports the Smart Battery System, another
310           type of access to battery information, found on some laptops.
312           To compile this driver as a module, choose M here:
313           the modules will be called sbs and sbshc.
315 config ACPI_HED
316         tristate "Hardware Error Device"
317         help
318           This driver supports the Hardware Error Device (PNP0C33),
319           which is used to report some hardware errors notified via
320           SCI, mainly the corrected errors.
322 config ACPI_CUSTOM_METHOD
323         tristate "Allow ACPI methods to be inserted/replaced at run time"
324         depends on DEBUG_FS
325         default n
326         help
327           This debug facility allows ACPI AML methods to be inserted and/or
328           replaced without rebooting the system. For details refer to:
329           Documentation/acpi/method-customizing.txt.
331           NOTE: This option is security sensitive, because it allows arbitrary
332           kernel memory to be written to by root (uid=0) users, allowing them
333           to bypass certain security measures (e.g. if root is not allowed to
334           load additional kernel modules after boot, this feature may be used
335           to override that restriction).
337 config ACPI_BGRT
338         bool "Boottime Graphics Resource Table support"
339         depends on EFI && X86
340         help
341           This driver adds support for exposing the ACPI Boottime Graphics
342           Resource Table, which allows the operating system to obtain
343           data from the firmware boot splash. It will appear under
344           /sys/firmware/acpi/bgrt/ .
346 source "drivers/acpi/apei/Kconfig"
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.
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.
368 endif   # ACPI