xref: /openbmc/linux/drivers/acpi/Kconfig (revision fd589a8f)
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
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
69config 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
85config 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
92config 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
110config 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
122config 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
134config 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
147config 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
162config 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
173config 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
180config 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
193config ACPI_HOTPLUG_CPU
194	bool
195	depends on ACPI_PROCESSOR && HOTPLUG_CPU
196	select ACPI_CONTAINER
197	default y
198
199config ACPI_THERMAL
200	tristate "Thermal Zone"
201	depends on ACPI_PROCESSOR
202	select THERMAL
203	default y
204	help
205	  This driver supports ACPI thermal zones.  Most mobile and
206	  some desktop systems support ACPI thermal zones.  It is HIGHLY
207	  recommended that this option be enabled, as your processor(s)
208	  may be damaged without it.
209
210	  To compile this driver as a module, choose M here:
211	  the module will be called thermal.
212
213config ACPI_NUMA
214	bool "NUMA support"
215	depends on NUMA
216	depends on (X86 || IA64)
217	default y if IA64_GENERIC || IA64_SGI_SN2
218
219config ACPI_CUSTOM_DSDT_FILE
220	string "Custom DSDT Table file to include"
221	default ""
222	depends on !STANDALONE
223	help
224	  This option supports a custom DSDT by linking it into the kernel.
225	  See Documentation/acpi/dsdt-override.txt
226
227	  Enter the full path name to the file which includes the AmlCode
228	  declaration.
229
230	  If unsure, don't enter a file name.
231
232config ACPI_CUSTOM_DSDT
233	bool
234	default ACPI_CUSTOM_DSDT_FILE != ""
235
236config ACPI_BLACKLIST_YEAR
237	int "Disable ACPI for systems before Jan 1st this year" if X86_32
238	default 0
239	help
240	  Enter a 4-digit year, e.g., 2001, to disable ACPI by default
241	  on platforms with DMI BIOS date before January 1st that year.
242	  "acpi=force" can be used to override this mechanism.
243
244	  Enter 0 to disable this mechanism and allow ACPI to
245	  run by default no matter what the year.  (default)
246
247config ACPI_DEBUG
248	bool "Debug Statements"
249	default n
250	help
251	  The ACPI subsystem can produce debug output.  Saying Y enables this
252	  output and increases the kernel size by around 50K.
253
254	  Use the acpi.debug_layer and acpi.debug_level kernel command-line
255	  parameters documented in Documentation/acpi/debug.txt and
256	  Documentation/kernel-parameters.txt to control the type and
257	  amount of debug output.
258
259config ACPI_DEBUG_FUNC_TRACE
260	bool "Additionally enable ACPI function tracing"
261	default n
262	depends on ACPI_DEBUG
263	help
264	  ACPI Debug Statements slow down ACPI processing. Function trace
265	  is about half of the penalty and is rarely useful.
266
267config ACPI_PCI_SLOT
268	tristate "PCI slot detection driver"
269	depends on SYSFS
270	default n
271	help
272	  This driver creates entries in /sys/bus/pci/slots/ for all PCI
273	  slots in the system.  This can help correlate PCI bus addresses,
274	  i.e., segment/bus/device/function tuples, with physical slots in
275	  the system.  If you are unsure, say N.
276
277	  To compile this driver as a module, choose M here:
278	  the module will be called pci_slot.
279
280config X86_PM_TIMER
281	bool "Power Management Timer Support" if EMBEDDED
282	depends on X86
283	default y
284	help
285	  The Power Management Timer is available on all ACPI-capable,
286	  in most cases even if ACPI is unusable or blacklisted.
287
288	  This timing source is not affected by power management features
289	  like aggressive processor idling, throttling, frequency and/or
290	  voltage scaling, unlike the commonly used Time Stamp Counter
291	  (TSC) timing source.
292
293	  You should nearly always say Y here because many modern
294	  systems require this timer.
295
296config ACPI_CONTAINER
297	tristate "Container and Module Devices (EXPERIMENTAL)"
298	depends on EXPERIMENTAL
299	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
300	help
301	  This driver supports ACPI Container and Module devices (IDs
302	  ACPI0004, PNP0A05, and PNP0A06).
303
304	  This helps support hotplug of nodes, CPUs, and memory.
305
306	  To compile this driver as a module, choose M here:
307	  the module will be called container.
308
309config ACPI_HOTPLUG_MEMORY
310	tristate "Memory Hotplug"
311	depends on MEMORY_HOTPLUG
312	default n
313	help
314	  This driver supports ACPI memory hotplug.  The driver
315	  fields notifications on ACPI memory devices (PNP0C80),
316	  which represent memory ranges that may be onlined or
317	  offlined during runtime.
318
319	  If your hardware and firmware do not support adding or
320	  removing memory devices at runtime, you need not enable
321	  this driver.
322
323	  To compile this driver as a module, choose M here:
324	  the module will be called acpi_memhotplug.
325
326config ACPI_SBS
327	tristate "Smart Battery System"
328	depends on X86
329	help
330	  This driver supports the Smart Battery System, another
331	  type of access to battery information, found on some laptops.
332
333	  To compile this driver as a module, choose M here:
334	  the modules will be called sbs and sbshc.
335
336endif	# ACPI
337