xref: /openbmc/linux/drivers/acpi/Kconfig (revision da2014a2)
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, whichever is loaded first shall be used.
26
27	  The ACPI SourceForge project contains the latest source code,
28	  documentation, tools, mailing list subscription, and other
29	  information.  This project is available at:
30	  <http://sourceforge.net/projects/acpi>
31
32	  Linux support for ACPI is based on Intel Corporation's ACPI
33	  Component Architecture (ACPI CA).  For more information see:
34	  <http://developer.intel.com/technology/iapc/acpi>
35
36	  ACPI is an open industry specification co-developed by Compaq,
37	  Intel, Microsoft, Phoenix, and Toshiba.  The specification is
38	  available at:
39	  <http://www.acpi.info>
40
41if ACPI
42
43config ACPI_SLEEP
44	bool
45	depends on PM_SLEEP
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/modules/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/
68config ACPI_PROCFS_POWER
69	bool "Deprecated power /proc/acpi directories"
70	depends on PROC_FS
71	default y
72	---help---
73	  For backwards compatibility, this option allows
74          deprecated power /proc/acpi/ directories to exist, even when
75          they have been replaced by functions in /sys.
76          The deprecated directories (and their replacements) include:
77	  /proc/acpi/battery/* (/sys/class/power_supply/*)
78	  /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
79	  This option has no effect on /proc/acpi/ directories
80	  and functions, which do not yet exist in /sys
81
82	  Say N to delete power /proc/acpi/ directories that have moved to /sys/
83
84config ACPI_SYSFS_POWER
85	bool "Future power /sys interface"
86	select POWER_SUPPLY
87	default y
88	---help---
89	  Say N to disable power /sys interface
90
91config ACPI_PROC_EVENT
92	bool "Deprecated /proc/acpi/event support"
93	depends on PROC_FS
94	default y
95	---help---
96	  A user-space daemon, acpi, typically read /proc/acpi/event
97	  and handled all ACPI sub-system generated events.
98
99	  These events are now delivered to user-space via
100	  either the input layer, or as netlink events.
101
102	  This build option enables the old code for legacy
103	  user-space implementation.  After some time, this will
104	  be moved under CONFIG_ACPI_PROCFS, and then deleted.
105
106	  Say Y here to retain the old behaviour.  Say N if your
107	  user-space is newer than kernel 2.6.23 (September 2007).
108
109config ACPI_AC
110	tristate "AC Adapter"
111	depends on X86
112	default y
113	help
114	  This driver adds support for the AC Adapter object, which indicates
115	  whether a system is on AC, or not. If you have a system that can
116	  switch between A/C and battery, say Y.
117
118config ACPI_BATTERY
119	tristate "Battery"
120	depends on X86
121	default y
122	help
123	  This driver adds support for battery information through
124	  /proc/acpi/battery. If you have a mobile system with a battery,
125	  say Y.
126
127config ACPI_BUTTON
128	tristate "Button"
129	depends on INPUT
130	default y
131	help
132	  This driver handles events on the power, sleep and lid buttons.
133	  A daemon reads /proc/acpi/event and perform user-defined actions
134	  such as shutting down the system.  This is necessary for
135	  software controlled poweroff.
136
137config ACPI_VIDEO
138	tristate "Video"
139	depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
140	depends on INPUT
141	select THERMAL
142	help
143	  This driver implement the ACPI Extensions For Display Adapters
144	  for integrated graphics devices on motherboard, as specified in
145	  ACPI 2.0 Specification, Appendix B, allowing to perform some basic
146	  control like defining the video POST device, retrieving EDID information
147	  or to setup a video output, etc.
148	  Note that this is an ref. implementation only.  It may or may not work
149	  for your integrated video device.
150
151config ACPI_FAN
152	tristate "Fan"
153	select THERMAL
154	default y
155	help
156	  This driver adds support for ACPI fan devices, allowing user-mode
157	  applications to perform basic fan control (on, off, status).
158
159config ACPI_DOCK
160	tristate "Dock"
161	depends on EXPERIMENTAL
162	help
163	  This driver adds support for ACPI controlled docking stations
164
165config ACPI_BAY
166	tristate "Removable Drive Bay (EXPERIMENTAL)"
167	depends on EXPERIMENTAL
168	depends on ACPI_DOCK
169	help
170	  This driver adds support for ACPI controlled removable drive
171	  bays such as the IBM ultrabay or the Dell Module Bay.
172
173config ACPI_PROCESSOR
174	tristate "Processor"
175	select THERMAL
176	default y
177	help
178	  This driver installs ACPI as the idle handler for Linux, and uses
179	  ACPI C2 and C3 processor states to save power, on systems that
180	  support it.  It is required by several flavors of cpufreq
181	  Performance-state drivers.
182
183config ACPI_HOTPLUG_CPU
184	bool
185	depends on ACPI_PROCESSOR && HOTPLUG_CPU
186	select ACPI_CONTAINER
187	default y
188
189config ACPI_THERMAL
190	tristate "Thermal Zone"
191	depends on ACPI_PROCESSOR
192	select THERMAL
193	default y
194	help
195	  This driver adds support for ACPI thermal zones.  Most mobile and
196	  some desktop systems support ACPI thermal zones.  It is HIGHLY
197	  recommended that this option be enabled, as your processor(s)
198	  may be damaged without it.
199
200config ACPI_NUMA
201	bool "NUMA support"
202	depends on NUMA
203	depends on (X86 || IA64)
204	default y if IA64_GENERIC || IA64_SGI_SN2
205
206config ACPI_WMI
207	tristate "WMI (EXPERIMENTAL)"
208	depends on X86
209	depends on EXPERIMENTAL
210	help
211	  This driver adds support for the ACPI-WMI (Windows Management
212	  Instrumentation) mapper device (PNP0C14) found on some systems.
213
214	  ACPI-WMI is a proprietary extension to ACPI to expose parts of the
215	  ACPI firmware to userspace - this is done through various vendor
216	  defined methods and data blocks in a PNP0C14 device, which are then
217	  made available for userspace to call.
218
219	  The implementation of this in Linux currently only exposes this to
220	  other kernel space drivers.
221
222	  This driver is a required dependency to build the firmware specific
223	  drivers needed on many machines, including Acer and HP laptops.
224
225	  It is safe to enable this driver even if your DSDT doesn't define
226	  any ACPI-WMI devices.
227
228config ACPI_ASUS
229        tristate "ASUS/Medion Laptop Extras"
230	depends on X86
231	select BACKLIGHT_CLASS_DEVICE
232        ---help---
233          This driver provides support for extra features of ACPI-compatible
234          ASUS laptops. As some of Medion laptops are made by ASUS, it may also
235          support some Medion laptops (such as 9675 for example).  It makes all
236          the extra buttons generate standard ACPI events that go through
237          /proc/acpi/events, and (on some models) adds support for changing the
238          display brightness and output, switching the LCD backlight on and off,
239          and most importantly, allows you to blink those fancy LEDs intended
240          for reporting mail and wireless status.
241
242	  Note: display switching code is currently considered EXPERIMENTAL,
243	  toying with these values may even lock your machine.
244
245          All settings are changed via /proc/acpi/asus directory entries. Owner
246          and group for these entries can be set with asus_uid and asus_gid
247          parameters.
248
249          More information and a userspace daemon for handling the extra buttons
250          at <http://sourceforge.net/projects/acpi4asus/>.
251
252          If you have an ACPI-compatible ASUS laptop, say Y or M here. This
253          driver is still under development, so if your laptop is unsupported or
254          something works not quite as expected, please use the mailing list
255          available on the above page (acpi4asus-user@lists.sourceforge.net).
256
257	  NOTE: This driver is deprecated and will probably be removed soon,
258	  use asus-laptop instead.
259
260config ACPI_TOSHIBA
261	tristate "Toshiba Laptop Extras"
262	depends on X86
263	select BACKLIGHT_CLASS_DEVICE
264	---help---
265	  This driver adds support for access to certain system settings
266	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
267	  their lack of a BIOS setup menu and APM support.
268
269	  On these machines, all system configuration is handled through the
270	  ACPI.  This driver is required for access to controls not covered
271	  by the general ACPI drivers, such as LCD brightness, video output,
272	  etc.
273
274	  This driver differs from the non-ACPI Toshiba laptop driver (located
275	  under "Processor type and features") in several aspects.
276	  Configuration is accessed by reading and writing text files in the
277	  /proc tree instead of by program interface to /dev.  Furthermore, no
278	  power management functions are exposed, as those are handled by the
279	  general ACPI drivers.
280
281	  More information about this driver is available at
282	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
283
284	  If you have a legacy free Toshiba laptop (such as the Libretto L1
285	  series), say Y.
286
287config ACPI_CUSTOM_DSDT_FILE
288	string "Custom DSDT Table file to include"
289	default ""
290	depends on !STANDALONE
291	help
292	  This option supports a custom DSDT by linking it into the kernel.
293	  See Documentation/acpi/dsdt-override.txt
294
295	  Enter the full path name to the file which includes the AmlCode
296	  declaration.
297
298	  If unsure, don't enter a file name.
299
300config ACPI_CUSTOM_DSDT
301	bool
302	default ACPI_CUSTOM_DSDT_FILE != ""
303
304config ACPI_BLACKLIST_YEAR
305	int "Disable ACPI for systems before Jan 1st this year" if X86_32
306	default 0
307	help
308	  enter a 4-digit year, eg. 2001 to disable ACPI by default
309	  on platforms with DMI BIOS date before January 1st that year.
310	  "acpi=force" can be used to override this mechanism.
311
312	  Enter 0 to disable this mechanism and allow ACPI to
313	  run by default no matter what the year.  (default)
314
315config ACPI_DEBUG
316	bool "Debug Statements"
317	default n
318	help
319	  The ACPI driver can optionally report errors with a great deal
320	  of verbosity. Saying Y enables these statements. This will increase
321	  your kernel size by around 50K.
322
323config ACPI_DEBUG_FUNC_TRACE
324	bool "Additionally enable ACPI function tracing"
325	default n
326	depends on ACPI_DEBUG
327	help
328	  ACPI Debug Statements slow down ACPI processing. Function trace
329	  is about half of the penalty and is rarely useful.
330
331config ACPI_EC
332	bool
333	default y
334	help
335	  This driver is required on some systems for the proper operation of
336	  the battery and thermal drivers.  If you are compiling for a
337	  mobile system, say Y.
338
339config ACPI_PCI_SLOT
340	tristate "PCI slot detection driver"
341	default n
342	help
343	  This driver will attempt to discover all PCI slots in your system,
344	  and creates entries in /sys/bus/pci/slots/. This feature can
345	  help you correlate PCI bus addresses with the physical geography
346	  of your slots. If you are unsure, say N.
347
348config ACPI_POWER
349	bool
350	default y
351
352config ACPI_SYSTEM
353	bool
354	default y
355	help
356	  This driver will enable your system to shut down using ACPI, and
357	  dump your ACPI DSDT table using /proc/acpi/dsdt.
358
359config X86_PM_TIMER
360	bool "Power Management Timer Support" if EMBEDDED
361	depends on X86
362	default y
363	help
364	  The Power Management Timer is available on all ACPI-capable,
365	  in most cases even if ACPI is unusable or blacklisted.
366
367	  This timing source is not affected by power management features
368	  like aggressive processor idling, throttling, frequency and/or
369	  voltage scaling, unlike the commonly used Time Stamp Counter
370	  (TSC) timing source.
371
372	  You should nearly always say Y here because many modern
373	  systems require this timer.
374
375config ACPI_CONTAINER
376	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
377	depends on EXPERIMENTAL
378	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
379	 ---help---
380	  This allows _physical_ insertion and removal of CPUs and memory.
381	  This can be useful, for example, on NUMA machines that support
382	  ACPI based physical hotplug of nodes, or non-NUMA machines that
383	  support physical cpu/memory hot-plug.
384
385	  If one selects "m", this driver can be loaded with
386	  "modprobe acpi_container".
387
388config ACPI_HOTPLUG_MEMORY
389	tristate "Memory Hotplug"
390	depends on MEMORY_HOTPLUG
391	default n
392	help
393	  This driver adds supports for ACPI Memory Hotplug.  This driver
394	  provides support for fielding notifications on ACPI memory
395	  devices (PNP0C80) which represent memory ranges that may be
396	  onlined or offlined during runtime.
397
398	  Enabling this driver assumes that your platform hardware
399	  and firmware have support for hot-plugging physical memory. If
400	  your system does not support physically adding or ripping out
401	  memory DIMMs at some platform defined granularity (individually
402	  or as a bank) at runtime, then you need not enable this driver.
403
404	  If one selects "m," this driver can be loaded using the following
405	  command:
406		$>modprobe acpi_memhotplug
407
408config ACPI_SBS
409	tristate "Smart Battery System"
410	depends on X86
411	help
412	  This driver adds support for the Smart Battery System, another
413	  type of access to battery information, found on some laptops.
414
415endif	# ACPI
416