xref: /linux/drivers/acpi/Kconfig (revision a5766f11cfd3a0c03450d99c8fe548c2940be884)
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 && INPUT
263	select INPUT_POLLDEV
264	select NET
265	select RFKILL
266	select BACKLIGHT_CLASS_DEVICE
267	---help---
268	  This driver adds support for access to certain system settings
269	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
270	  their lack of a BIOS setup menu and APM support.
271
272	  On these machines, all system configuration is handled through the
273	  ACPI.  This driver is required for access to controls not covered
274	  by the general ACPI drivers, such as LCD brightness, video output,
275	  etc.
276
277	  This driver differs from the non-ACPI Toshiba laptop driver (located
278	  under "Processor type and features") in several aspects.
279	  Configuration is accessed by reading and writing text files in the
280	  /proc tree instead of by program interface to /dev.  Furthermore, no
281	  power management functions are exposed, as those are handled by the
282	  general ACPI drivers.
283
284	  More information about this driver is available at
285	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
286
287	  If you have a legacy free Toshiba laptop (such as the Libretto L1
288	  series), say Y.
289
290config ACPI_CUSTOM_DSDT_FILE
291	string "Custom DSDT Table file to include"
292	default ""
293	depends on !STANDALONE
294	help
295	  This option supports a custom DSDT by linking it into the kernel.
296	  See Documentation/acpi/dsdt-override.txt
297
298	  Enter the full path name to the file which includes the AmlCode
299	  declaration.
300
301	  If unsure, don't enter a file name.
302
303config ACPI_CUSTOM_DSDT
304	bool
305	default ACPI_CUSTOM_DSDT_FILE != ""
306
307config ACPI_BLACKLIST_YEAR
308	int "Disable ACPI for systems before Jan 1st this year" if X86_32
309	default 0
310	help
311	  enter a 4-digit year, eg. 2001 to disable ACPI by default
312	  on platforms with DMI BIOS date before January 1st that year.
313	  "acpi=force" can be used to override this mechanism.
314
315	  Enter 0 to disable this mechanism and allow ACPI to
316	  run by default no matter what the year.  (default)
317
318config ACPI_DEBUG
319	bool "Debug Statements"
320	default n
321	help
322	  The ACPI driver can optionally report errors with a great deal
323	  of verbosity. Saying Y enables these statements. This will increase
324	  your kernel size by around 50K.
325
326config ACPI_DEBUG_FUNC_TRACE
327	bool "Additionally enable ACPI function tracing"
328	default n
329	depends on ACPI_DEBUG
330	help
331	  ACPI Debug Statements slow down ACPI processing. Function trace
332	  is about half of the penalty and is rarely useful.
333
334config ACPI_EC
335	bool
336	default y
337	help
338	  This driver is required on some systems for the proper operation of
339	  the battery and thermal drivers.  If you are compiling for a
340	  mobile system, say Y.
341
342config ACPI_PCI_SLOT
343	tristate "PCI slot detection driver"
344	default n
345	help
346	  This driver will attempt to discover all PCI slots in your system,
347	  and creates entries in /sys/bus/pci/slots/. This feature can
348	  help you correlate PCI bus addresses with the physical geography
349	  of your slots. If you are unsure, say N.
350
351config ACPI_POWER
352	bool
353	default y
354
355config ACPI_SYSTEM
356	bool
357	default y
358	help
359	  This driver will enable your system to shut down using ACPI, and
360	  dump your ACPI DSDT table using /proc/acpi/dsdt.
361
362config X86_PM_TIMER
363	bool "Power Management Timer Support" if EMBEDDED
364	depends on X86
365	default y
366	help
367	  The Power Management Timer is available on all ACPI-capable,
368	  in most cases even if ACPI is unusable or blacklisted.
369
370	  This timing source is not affected by power management features
371	  like aggressive processor idling, throttling, frequency and/or
372	  voltage scaling, unlike the commonly used Time Stamp Counter
373	  (TSC) timing source.
374
375	  You should nearly always say Y here because many modern
376	  systems require this timer.
377
378config ACPI_CONTAINER
379	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
380	depends on EXPERIMENTAL
381	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
382	 ---help---
383	  This allows _physical_ insertion and removal of CPUs and memory.
384	  This can be useful, for example, on NUMA machines that support
385	  ACPI based physical hotplug of nodes, or non-NUMA machines that
386	  support physical cpu/memory hot-plug.
387
388	  If one selects "m", this driver can be loaded with
389	  "modprobe acpi_container".
390
391config ACPI_HOTPLUG_MEMORY
392	tristate "Memory Hotplug"
393	depends on MEMORY_HOTPLUG
394	default n
395	help
396	  This driver adds supports for ACPI Memory Hotplug.  This driver
397	  provides support for fielding notifications on ACPI memory
398	  devices (PNP0C80) which represent memory ranges that may be
399	  onlined or offlined during runtime.
400
401	  Enabling this driver assumes that your platform hardware
402	  and firmware have support for hot-plugging physical memory. If
403	  your system does not support physically adding or ripping out
404	  memory DIMMs at some platform defined granularity (individually
405	  or as a bank) at runtime, then you need not enable this driver.
406
407	  If one selects "m," this driver can be loaded using the following
408	  command:
409		$>modprobe acpi_memhotplug
410
411config ACPI_SBS
412	tristate "Smart Battery System"
413	depends on X86
414	help
415	  This driver adds support for the Smart Battery System, another
416	  type of access to battery information, found on some laptops.
417
418endif	# ACPI
419