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