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