xref: /openbmc/linux/drivers/acpi/Kconfig (revision 5d4a2e29)
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	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
41if ACPI
42
43config ACPI_SLEEP
44	bool
45	depends on SUSPEND || HIBERNATION
46	default y
47
48config 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
73config 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
89config 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
100config 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
107config 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
125config 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
137config 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
149config 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
162config 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
177config 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
188config 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
195config 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
208config ACPI_HOTPLUG_CPU
209	bool
210	depends on ACPI_PROCESSOR && HOTPLUG_CPU
211	select ACPI_CONTAINER
212	default y
213
214config 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
226config 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
240config 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
246config 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
259config ACPI_CUSTOM_DSDT
260	bool
261	default ACPI_CUSTOM_DSDT_FILE != ""
262
263config 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
274config 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
286config 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
294config 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
307config 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
323config 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
336config 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
353config 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
363config 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
370source "drivers/acpi/apei/Kconfig"
371
372endif	# ACPI
373