xref: /linux/drivers/acpi/Kconfig (revision 13abf8130139c2ccd4962a7e5a8902be5e6cb5a7)
1#
2# ACPI Configuration
3#
4
5menu "ACPI (Advanced Configuration and Power Interface) Support"
6	depends on PM
7	depends on !X86_VISWS
8	depends on !IA64_HP_SIM
9	depends on IA64 || X86
10
11config ACPI
12	bool "ACPI Support"
13	depends on IA64 || X86
14
15	default y
16	---help---
17	  Advanced Configuration and Power Interface (ACPI) support for
18	  Linux requires an ACPI compliant platform (hardware/firmware),
19	  and assumes the presence of OS-directed configuration and power
20	  management (OSPM) software.  This option will enlarge your
21	  kernel by about 70K.
22
23	  Linux ACPI provides a robust functional replacement for several
24	  legacy configuration and power management interfaces, including
25	  the Plug-and-Play BIOS specification (PnP BIOS), the
26	  MultiProcessor Specification (MPS), and the Advanced Power
27	  Management (APM) specification.  If both ACPI and APM support
28	  are configured, whichever is loaded first shall be used.
29
30	  The ACPI SourceForge project contains the latest source code,
31	  documentation, tools, mailing list subscription, and other
32	  information.  This project is available at:
33	  <http://sourceforge.net/projects/acpi>
34
35	  Linux support for ACPI is based on Intel Corporation's ACPI
36	  Component Architecture (ACPI CA).  For more information see:
37	  <http://developer.intel.com/technology/iapc/acpi>
38
39	  ACPI is an open industry specification co-developed by Compaq,
40	  Intel, Microsoft, Phoenix, and Toshiba.  The specification is
41	  available at:
42	  <http://www.acpi.info>
43
44if ACPI
45
46config ACPI_BOOT
47	bool
48	default y
49
50config ACPI_INTERPRETER
51	bool
52	default y
53
54if ACPI_INTERPRETER
55
56config ACPI_SLEEP
57	bool "Sleep States (EXPERIMENTAL)"
58	depends on X86 && (!SMP || SUSPEND_SMP)
59	depends on EXPERIMENTAL && PM
60	default y
61	---help---
62	  This option adds support for ACPI suspend states.
63
64	  With this option, you will be able to put the system "to sleep".
65	  Sleep states are low power states for the system and devices. All
66	  of the system operating state is saved to either memory or disk
67	  (depending on the state), to allow the system to resume operation
68	  quickly at your request.
69
70	  Although this option sounds really nifty, barely any of the device
71	  drivers have been converted to the new driver model and hence few
72	  have proper power management support.
73
74	  This option is not recommended for anyone except those doing driver
75	  power management development.
76
77config ACPI_SLEEP_PROC_FS
78	bool
79	depends on ACPI_SLEEP && PROC_FS
80	default y
81
82config ACPI_SLEEP_PROC_SLEEP
83	bool "/proc/acpi/sleep (deprecated)"
84	depends on ACPI_SLEEP_PROC_FS
85	default n
86	---help---
87	  Create /proc/acpi/sleep
88	  Deprecated by /sys/power/state
89
90config ACPI_AC
91	tristate "AC Adapter"
92	depends on X86
93	default m
94	help
95	  This driver adds support for the AC Adapter object, which indicates
96	  whether a system is on AC, or not.  Typically, only mobile systems
97	  have this object, since desktops are always on AC.
98
99config ACPI_BATTERY
100	tristate "Battery"
101	depends on X86
102	default m
103	help
104	  This driver adds support for battery information through
105	  /proc/acpi/battery. If you have a mobile system with a battery,
106	  say Y.
107
108config ACPI_BUTTON
109	tristate "Button"
110	default m
111	help
112	  This driver registers for events based on buttons, such as the
113	  power, sleep, and lid switch.  In the future, a daemon will read
114	  /proc/acpi/event and perform user-defined actions such as shutting
115	  down the system.  Until then, you can cat it, and see output when
116	  a button is pressed.
117
118config ACPI_VIDEO
119	tristate "Video"
120	depends on EXPERIMENTAL
121	default m
122	help
123	  This driver implement the ACPI Extensions For Display Adapters
124	  for integrated graphics devices on motherboard, as specified in
125	  ACPI 2.0 Specification, Appendix B, allowing to perform some basic
126	  control like defining the video POST device, retrieving EDID information
127	  or to setup a video output, etc.
128	  Note that this is an ref. implementation only.  It may or may not work
129	  for your integrated video device.
130
131config ACPI_HOTKEY
132	tristate "Generic Hotkey"
133	depends on ACPI_INTERPRETER
134	depends on EXPERIMENTAL
135	depends on !IA64_SGI_SN
136	default n
137	help
138	  Experimental consolidated hotkey driver.
139	  If you are unsure, say N.
140
141config ACPI_FAN
142	tristate "Fan"
143	default m
144	help
145	  This driver adds support for ACPI fan devices, allowing user-mode
146	  applications to perform basic fan control (on, off, status).
147
148config ACPI_PROCESSOR
149	tristate "Processor"
150	default m
151	help
152	  This driver installs ACPI as the idle handler for Linux, and uses
153	  ACPI C2 and C3 processor states to save power, on systems that
154	  support it.
155
156config ACPI_HOTPLUG_CPU
157	bool "Processor Hotplug (EXPERIMENTAL)"
158	depends on ACPI_PROCESSOR && HOTPLUG_CPU && EXPERIMENTAL
159	select ACPI_CONTAINER
160	default n
161	 ---help---
162	 Select this option if your platform support physical CPU hotplug.
163
164config ACPI_THERMAL
165	tristate "Thermal Zone"
166	depends on ACPI_PROCESSOR
167	default m
168	help
169	  This driver adds support for ACPI thermal zones.  Most mobile and
170	  some desktop systems support ACPI thermal zones.  It is HIGHLY
171	  recommended that this option be enabled, as your processor(s)
172	  may be damaged without it.
173
174config ACPI_NUMA
175	bool "NUMA support"
176	depends on NUMA
177	depends on (IA64 || X86_64)
178	default y if IA64_GENERIC || IA64_SGI_SN2
179
180config ACPI_ASUS
181        tristate "ASUS/Medion Laptop Extras"
182	depends on X86
183	default m
184        ---help---
185          This driver provides support for extra features of ACPI-compatible
186          ASUS laptops. As some of Medion laptops are made by ASUS, it may also
187          support some Medion laptops (such as 9675 for example).  It makes all
188          the extra buttons generate standard ACPI events that go through
189          /proc/acpi/events, and (on some models) adds support for changing the
190          display brightness and output, switching the LCD backlight on and off,
191          and most importantly, allows you to blink those fancy LEDs intended
192          for reporting mail and wireless status.
193
194	  Note: display switching code is currently considered EXPERIMENTAL,
195	  toying with these values may even lock your machine.
196
197          All settings are changed via /proc/acpi/asus directory entries. Owner
198          and group for these entries can be set with asus_uid and asus_gid
199          parameters.
200
201          More information and a userspace daemon for handling the extra buttons
202          at <http://sourceforge.net/projects/acpi4asus/>.
203
204          If you have an ACPI-compatible ASUS laptop, say Y or M here. This
205          driver is still under development, so if your laptop is unsupported or
206          something works not quite as expected, please use the mailing list
207          available on the above page (acpi4asus-user@lists.sourceforge.net)
208
209config ACPI_IBM
210	tristate "IBM ThinkPad Laptop Extras"
211	depends on X86
212	default m
213	---help---
214	  This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
215	  support for Fn-Fx key combinations, Bluetooth control, video
216	  output switching, ThinkLight control, UltraBay eject and more.
217	  For more information about this driver see <file:Documentation/ibm-acpi.txt>
218	  and <http://ibm-acpi.sf.net/> .
219
220	  If you have an IBM ThinkPad laptop, say Y or M here.
221
222config ACPI_TOSHIBA
223	tristate "Toshiba Laptop Extras"
224	depends on X86
225	default m
226	---help---
227	  This driver adds support for access to certain system settings
228	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
229	  their lack of a BIOS setup menu and APM support.
230
231	  On these machines, all system configuration is handled through the
232	  ACPI.  This driver is required for access to controls not covered
233	  by the general ACPI drivers, such as LCD brightness, video output,
234	  etc.
235
236	  This driver differs from the non-ACPI Toshiba laptop driver (located
237	  under "Processor type and features") in several aspects.
238	  Configuration is accessed by reading and writing text files in the
239	  /proc tree instead of by program interface to /dev.  Furthermore, no
240	  power management functions are exposed, as those are handled by the
241	  general ACPI drivers.
242
243	  More information about this driver is available at
244	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
245
246	  If you have a legacy free Toshiba laptop (such as the Libretto L1
247	  series), say Y.
248
249config ACPI_CUSTOM_DSDT
250	bool "Include Custom DSDT"
251	depends on !STANDALONE
252	default n
253	help
254	  Thist option is to load a custom ACPI DSDT
255	  If you don't know what that is, say N.
256
257config ACPI_CUSTOM_DSDT_FILE
258	string "Custom DSDT Table file to include"
259	depends on ACPI_CUSTOM_DSDT
260	default ""
261	help
262	  Enter the full path name to the file wich includes the AmlCode declaration.
263
264config ACPI_BLACKLIST_YEAR
265	int "Disable ACPI for systems before Jan 1st this year"
266	depends on ACPI_INTERPRETER
267	default 0
268	help
269	  enter a 4-digit year, eg. 2001 to disable ACPI by default
270	  on platforms with DMI BIOS date before January 1st that year.
271	  "acpi=force" can be used to override this mechanism.
272
273	  Enter 0 to disable this mechanism and allow ACPI to
274	  run by default no matter what the year.  (default)
275
276config ACPI_DEBUG
277	bool "Debug Statements"
278	default n
279	help
280	  The ACPI driver can optionally report errors with a great deal
281	  of verbosity. Saying Y enables these statements. This will increase
282	  your kernel size by around 50K.
283
284config ACPI_BUS
285	bool
286	default y
287
288config ACPI_EC
289	bool
290	depends on X86
291	default y
292	help
293	  This driver is required on some systems for the proper operation of
294	  the battery and thermal drivers.  If you are compiling for a
295	  mobile system, say Y.
296
297config ACPI_POWER
298	bool
299	default y
300
301config ACPI_PCI
302	bool
303	default PCI
304
305config ACPI_SYSTEM
306	bool
307	default y
308	help
309	  This driver will enable your system to shut down using ACPI, and
310	  dump your ACPI DSDT table using /proc/acpi/dsdt.
311
312endif	# ACPI_INTERPRETER
313
314config X86_PM_TIMER
315	bool "Power Management Timer Support"
316	depends on X86
317	depends on ACPI_BOOT && EXPERIMENTAL
318	depends on !X86_64
319	default n
320	help
321	  The Power Management Timer is available on all ACPI-capable,
322	  in most cases even if ACPI is unusable or blacklisted.
323
324	  This timing source is not affected by powermanagement features
325	  like aggressive processor idling, throttling, frequency and/or
326	  voltage scaling, unlike the commonly used Time Stamp Counter
327	  (TSC) timing source.
328
329	  So, if you see messages like 'Losing too many ticks!' in the
330	  kernel logs, and/or you are using this on a notebook which
331	  does not yet have an HPET, you should say "Y" here.
332
333config ACPI_CONTAINER
334	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
335	depends on EXPERIMENTAL
336	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
337	 ---help---
338	  This allows _physical_ insertion and removal of CPUs and memory.
339	  This can be useful, for example, on NUMA machines that support
340	  ACPI based physical hotplug of nodes, or non-NUMA machines that
341	  support physical cpu/memory hot-plug.
342
343	  If one selects "m", this driver can be loaded with
344	  "modprobe acpi_container".
345
346config ACPI_HOTPLUG_MEMORY
347	tristate "Memory Hotplug"
348	depends on ACPI
349	depends on MEMORY_HOTPLUG
350	default n
351	help
352	  This driver adds supports for ACPI Memory Hotplug.  This driver
353	  provides support for fielding notifications on ACPI memory
354	  devices (PNP0C80) which represent memory ranges that may be
355	  onlined or offlined during runtime.
356
357	  Enabling this driver assumes that your platform hardware
358	  and firmware have support for hot-plugging physical memory. If
359	  your system does not support physically adding or ripping out
360	  memory DIMMs at some platfrom defined granularity (individually
361	  or as a bank) at runtime, then you need not enable this driver.
362
363	  If one selects "m," this driver can be loaded using the following
364	  command:
365		$>modprobe acpi_memhotplug
366endif	# ACPI
367
368endmenu
369