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