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