acpi_pad: build only on X86
[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
64           This option has no effect on /proc/acpi/ files
65           and functions which do not yet exist in /sys.
66
67           Say N to delete /proc/acpi/ files that have moved to /sys/
68
69 config ACPI_PROCFS_POWER
70         bool "Deprecated power /proc/acpi directories"
71         depends on PROC_FS
72         default y
73         help
74           For backwards compatibility, this option allows
75           deprecated power /proc/acpi/ directories to exist, even when
76           they have been replaced by functions in /sys.
77           The deprecated directories (and their replacements) include:
78           /proc/acpi/battery/* (/sys/class/power_supply/*)
79           /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
80           This option has no effect on /proc/acpi/ directories
81           and functions, which do not yet exist in /sys
82
83           Say N to delete power /proc/acpi/ directories that have moved to /sys/
84
85 config ACPI_SYSFS_POWER
86         bool "Future power /sys interface"
87         select POWER_SUPPLY
88         default y
89         help
90           Say N to disable power /sys interface
91
92 config ACPI_PROC_EVENT
93         bool "Deprecated /proc/acpi/event support"
94         depends on PROC_FS
95         default y
96         help
97           A user-space daemon, acpid, typically reads /proc/acpi/event
98           and handles all ACPI-generated events.
99
100           These events are now delivered to user-space either
101           via the input layer or as netlink events.
102
103           This build option enables the old code for legacy
104           user-space implementation.  After some time, this will
105           be moved under CONFIG_ACPI_PROCFS, and then deleted.
106
107           Say Y here to retain the old behaviour.  Say N if your
108           user-space is newer than kernel 2.6.23 (September 2007).
109
110 config ACPI_AC
111         tristate "AC Adapter"
112         depends on X86
113         default y
114         help
115           This driver supports the AC Adapter object, which indicates
116           whether a system is on AC or not.  If you have a system that can
117           switch between A/C and battery, say Y.
118
119           To compile this driver as a module, choose M here:
120           the module will be called ac.
121
122 config ACPI_BATTERY
123         tristate "Battery"
124         depends on X86
125         default y
126         help
127           This driver adds support for battery information through
128           /proc/acpi/battery. If you have a mobile system with a battery, 
129           say Y.
130
131           To compile this driver as a module, choose M here:
132           the module will be called battery.
133
134 config ACPI_BUTTON
135         tristate "Button"
136         depends on INPUT
137         default y
138         help
139           This driver handles events on the power, sleep, and lid buttons.
140           A daemon reads /proc/acpi/event and perform user-defined actions
141           such as shutting down the system.  This is necessary for
142           software-controlled poweroff.
143
144           To compile this driver as a module, choose M here:
145           the module will be called button.
146
147 config ACPI_VIDEO
148         tristate "Video"
149         depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
150         depends on INPUT
151         select THERMAL
152         help
153           This driver implements the ACPI Extensions For Display Adapters
154           for integrated graphics devices on motherboard, as specified in
155           ACPI 2.0 Specification, Appendix B.  This supports basic operations
156           such as defining the video POST device, retrieving EDID information,
157           and setting up a video output.
158
159           To compile this driver as a module, choose M here:
160           the module will be called video.
161
162 config ACPI_FAN
163         tristate "Fan"
164         select THERMAL
165         default y
166         help
167           This driver supports ACPI fan devices, allowing user-mode
168           applications to perform basic fan control (on, off, status).
169
170           To compile this driver as a module, choose M here:
171           the module will be called fan.
172
173 config ACPI_DOCK
174         bool "Dock"
175         depends on EXPERIMENTAL
176         help
177           This driver supports ACPI-controlled docking stations and removable
178           drive bays such as the IBM Ultrabay and the Dell Module Bay.
179
180 config ACPI_PROCESSOR
181         tristate "Processor"
182         select THERMAL
183         default y
184         help
185           This driver installs ACPI as the idle handler for Linux and uses
186           ACPI C2 and C3 processor states to save power on systems that
187           support it.  It is required by several flavors of cpufreq
188           performance-state drivers.
189
190           To compile this driver as a module, choose M here:
191           the module will be called processor.
192
193 config ACPI_HOTPLUG_CPU
194         bool
195         depends on ACPI_PROCESSOR && HOTPLUG_CPU
196         select ACPI_CONTAINER
197         default y
198
199 config ACPI_PROCESSOR_AGGREGATOR
200         tristate "Processor Aggregator"
201         depends on ACPI_PROCESSOR
202         depends on EXPERIMENTAL
203         depends on X86
204         help
205           ACPI 4.0 defines processor Aggregator, which enables OS to perform
206           specfic processor configuration and control that applies to all
207           processors in the platform. Currently only logical processor idling
208           is defined, which is to reduce power consumption. This driver
209           support the new device.
210
211 config ACPI_THERMAL
212         tristate "Thermal Zone"
213         depends on ACPI_PROCESSOR
214         select THERMAL
215         default y
216         help
217           This driver supports ACPI thermal zones.  Most mobile and
218           some desktop systems support ACPI thermal zones.  It is HIGHLY
219           recommended that this option be enabled, as your processor(s)
220           may be damaged without it.
221
222           To compile this driver as a module, choose M here:
223           the module will be called thermal.
224
225 config ACPI_NUMA
226         bool "NUMA support"
227         depends on NUMA
228         depends on (X86 || IA64)
229         default y if IA64_GENERIC || IA64_SGI_SN2
230
231 config ACPI_CUSTOM_DSDT_FILE
232         string "Custom DSDT Table file to include"
233         default ""
234         depends on !STANDALONE
235         help
236           This option supports a custom DSDT by linking it into the kernel.
237           See Documentation/acpi/dsdt-override.txt
238
239           Enter the full path name to the file which includes the AmlCode
240           declaration.
241
242           If unsure, don't enter a file name.
243
244 config ACPI_CUSTOM_DSDT
245         bool
246         default ACPI_CUSTOM_DSDT_FILE != ""
247
248 config ACPI_BLACKLIST_YEAR
249         int "Disable ACPI for systems before Jan 1st this year" if X86_32
250         default 0
251         help
252           Enter a 4-digit year, e.g., 2001, to disable ACPI by default
253           on platforms with DMI BIOS date before January 1st that year.
254           "acpi=force" can be used to override this mechanism.
255
256           Enter 0 to disable this mechanism and allow ACPI to
257           run by default no matter what the year.  (default)
258
259 config ACPI_DEBUG
260         bool "Debug Statements"
261         default n
262         help
263           The ACPI subsystem can produce debug output.  Saying Y enables this
264           output and increases the kernel size by around 50K.
265
266           Use the acpi.debug_layer and acpi.debug_level kernel command-line
267           parameters documented in Documentation/acpi/debug.txt and
268           Documentation/kernel-parameters.txt to control the type and
269           amount of debug output.
270
271 config ACPI_DEBUG_FUNC_TRACE
272         bool "Additionally enable ACPI function tracing"
273         default n
274         depends on ACPI_DEBUG
275         help
276           ACPI Debug Statements slow down ACPI processing. Function trace
277           is about half of the penalty and is rarely useful.
278
279 config ACPI_PCI_SLOT
280         tristate "PCI slot detection driver"
281         depends on SYSFS
282         default n
283         help
284           This driver creates entries in /sys/bus/pci/slots/ for all PCI
285           slots in the system.  This can help correlate PCI bus addresses,
286           i.e., segment/bus/device/function tuples, with physical slots in
287           the system.  If you are unsure, say N.
288
289           To compile this driver as a module, choose M here:
290           the module will be called pci_slot.
291
292 config X86_PM_TIMER
293         bool "Power Management Timer Support" if EMBEDDED
294         depends on X86
295         default y
296         help
297           The Power Management Timer is available on all ACPI-capable,
298           in most cases even if ACPI is unusable or blacklisted.
299
300           This timing source is not affected by power management features
301           like aggressive processor idling, throttling, frequency and/or
302           voltage scaling, unlike the commonly used Time Stamp Counter
303           (TSC) timing source.
304
305           You should nearly always say Y here because many modern
306           systems require this timer. 
307
308 config ACPI_CONTAINER
309         tristate "Container and Module Devices (EXPERIMENTAL)"
310         depends on EXPERIMENTAL
311         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
312         help
313           This driver supports ACPI Container and Module devices (IDs
314           ACPI0004, PNP0A05, and PNP0A06).
315
316           This helps support hotplug of nodes, CPUs, and memory.
317
318           To compile this driver as a module, choose M here:
319           the module will be called container.
320
321 config ACPI_HOTPLUG_MEMORY
322         tristate "Memory Hotplug"
323         depends on MEMORY_HOTPLUG
324         default n
325         help
326           This driver supports ACPI memory hotplug.  The driver
327           fields notifications on ACPI memory devices (PNP0C80),
328           which represent memory ranges that may be onlined or
329           offlined during runtime.
330
331           If your hardware and firmware do not support adding or
332           removing memory devices at runtime, you need not enable
333           this driver.
334
335           To compile this driver as a module, choose M here:
336           the module will be called acpi_memhotplug.
337
338 config ACPI_SBS
339         tristate "Smart Battery System"
340         depends on X86
341         help
342           This driver supports the Smart Battery System, another
343           type of access to battery information, found on some laptops.
344
345           To compile this driver as a module, choose M here:
346           the modules will be called sbs and sbshc.
347
348 endif   # ACPI