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