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