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