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