xref: /linux/drivers/acpi/Kconfig (revision 6e8331ac6973435b1e7604c30f2ad394035b46e1)
1#
2# ACPI Configuration
3#
4
5menu "ACPI (Advanced Configuration and Power Interface) Support"
6	depends on !X86_VISWS
7	depends on !IA64_HP_SIM
8	depends on IA64 || X86
9
10config ACPI
11	bool "ACPI Support"
12	depends on IA64 || X86
13	depends on PCI
14	select PM
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_SLEEP
47	bool "Sleep States"
48	depends on X86 && (!SMP || SUSPEND_SMP)
49	depends on PM
50	default y
51	---help---
52	  This option adds support for ACPI suspend states.
53
54	  With this option, you will be able to put the system "to sleep".
55	  Sleep states are low power states for the system and devices. All
56	  of the system operating state is saved to either memory or disk
57	  (depending on the state), to allow the system to resume operation
58	  quickly at your request.
59
60	  Although this option sounds really nifty, barely any of the device
61	  drivers have been converted to the new driver model and hence few
62	  have proper power management support.
63
64	  This option is not recommended for anyone except those doing driver
65	  power management development.
66
67config ACPI_SLEEP_PROC_FS
68	bool
69	depends on ACPI_SLEEP && PROC_FS
70	default y
71
72config ACPI_SLEEP_PROC_SLEEP
73	bool "/proc/acpi/sleep (deprecated)"
74	depends on ACPI_SLEEP_PROC_FS
75	default n
76	---help---
77	  Create /proc/acpi/sleep
78	  Deprecated by /sys/power/state
79
80config ACPI_AC
81	tristate "AC Adapter"
82	depends on X86
83	default y
84	help
85	  This driver adds support for the AC Adapter object, which indicates
86	  whether a system is on AC, or not. If you have a system that can
87	  switch between A/C and battery, say Y.
88
89config ACPI_BATTERY
90	tristate "Battery"
91	depends on X86
92	default y
93	help
94	  This driver adds support for battery information through
95	  /proc/acpi/battery. If you have a mobile system with a battery,
96	  say Y.
97
98config ACPI_BUTTON
99	tristate "Button"
100	default y
101	help
102	  This driver handles events on the power, sleep and lid buttons.
103	  A daemon reads /proc/acpi/event and perform user-defined actions
104	  such as shutting down the system.  This is necessary for
105	  software controlled poweroff.
106
107config ACPI_VIDEO
108	tristate "Video"
109	depends on X86
110	help
111	  This driver implement the ACPI Extensions For Display Adapters
112	  for integrated graphics devices on motherboard, as specified in
113	  ACPI 2.0 Specification, Appendix B, allowing to perform some basic
114	  control like defining the video POST device, retrieving EDID information
115	  or to setup a video output, etc.
116	  Note that this is an ref. implementation only.  It may or may not work
117	  for your integrated video device.
118
119config ACPI_HOTKEY
120	tristate "Generic Hotkey (EXPERIMENTAL)"
121	depends on EXPERIMENTAL
122	depends on X86
123	default n
124	help
125	  Experimental consolidated hotkey driver.
126	  If you are unsure, say N.
127
128config ACPI_FAN
129	tristate "Fan"
130	default y
131	help
132	  This driver adds support for ACPI fan devices, allowing user-mode
133	  applications to perform basic fan control (on, off, status).
134
135config ACPI_DOCK
136	tristate "Dock"
137	depends on EXPERIMENTAL
138	help
139	  This driver adds support for ACPI controlled docking stations
140
141config ACPI_PROCESSOR
142	tristate "Processor"
143	default y
144	help
145	  This driver installs ACPI as the idle handler for Linux, and uses
146	  ACPI C2 and C3 processor states to save power, on systems that
147	  support it.  It is required by several flavors of cpufreq
148	  Performance-state drivers.
149
150config ACPI_HOTPLUG_CPU
151	bool
152	depends on ACPI_PROCESSOR && HOTPLUG_CPU
153	select ACPI_CONTAINER
154	default y
155
156config ACPI_THERMAL
157	tristate "Thermal Zone"
158	depends on ACPI_PROCESSOR
159	default y
160	help
161	  This driver adds support for ACPI thermal zones.  Most mobile and
162	  some desktop systems support ACPI thermal zones.  It is HIGHLY
163	  recommended that this option be enabled, as your processor(s)
164	  may be damaged without it.
165
166config ACPI_NUMA
167	bool "NUMA support"
168	depends on NUMA
169	depends on (X86 || IA64)
170	default y if IA64_GENERIC || IA64_SGI_SN2
171
172config ACPI_ASUS
173        tristate "ASUS/Medion Laptop Extras"
174	depends on X86
175        ---help---
176          This driver provides support for extra features of ACPI-compatible
177          ASUS laptops. As some of Medion laptops are made by ASUS, it may also
178          support some Medion laptops (such as 9675 for example).  It makes all
179          the extra buttons generate standard ACPI events that go through
180          /proc/acpi/events, and (on some models) adds support for changing the
181          display brightness and output, switching the LCD backlight on and off,
182          and most importantly, allows you to blink those fancy LEDs intended
183          for reporting mail and wireless status.
184
185	  Note: display switching code is currently considered EXPERIMENTAL,
186	  toying with these values may even lock your machine.
187
188          All settings are changed via /proc/acpi/asus directory entries. Owner
189          and group for these entries can be set with asus_uid and asus_gid
190          parameters.
191
192          More information and a userspace daemon for handling the extra buttons
193          at <http://sourceforge.net/projects/acpi4asus/>.
194
195          If you have an ACPI-compatible ASUS laptop, say Y or M here. This
196          driver is still under development, so if your laptop is unsupported or
197          something works not quite as expected, please use the mailing list
198          available on the above page (acpi4asus-user@lists.sourceforge.net)
199
200config ACPI_IBM
201	tristate "IBM ThinkPad Laptop Extras"
202	depends on X86
203	---help---
204	  This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
205	  support for Fn-Fx key combinations, Bluetooth control, video
206	  output switching, ThinkLight control, UltraBay eject and more.
207	  For more information about this driver see <file:Documentation/ibm-acpi.txt>
208	  and <http://ibm-acpi.sf.net/> .
209
210	  If you have an IBM ThinkPad laptop, say Y or M here.
211
212config ACPI_IBM_DOCK
213	bool "Legacy Docking Station Support"
214	depends on ACPI_IBM
215	depends on ACPI_DOCK=n
216	default n
217	---help---
218	  Allows the ibm_acpi driver to handle docking station events.
219	  This support is obsoleted by CONFIG_HOTPLUG_PCI_ACPI.  It will
220	  allow locking and removing the laptop from the docking station,
221	  but will not properly connect PCI devices.
222
223	  If you are not sure, say N here.
224
225config ACPI_TOSHIBA
226	tristate "Toshiba Laptop Extras"
227	depends on X86
228	---help---
229	  This driver adds support for access to certain system settings
230	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
231	  their lack of a BIOS setup menu and APM support.
232
233	  On these machines, all system configuration is handled through the
234	  ACPI.  This driver is required for access to controls not covered
235	  by the general ACPI drivers, such as LCD brightness, video output,
236	  etc.
237
238	  This driver differs from the non-ACPI Toshiba laptop driver (located
239	  under "Processor type and features") in several aspects.
240	  Configuration is accessed by reading and writing text files in the
241	  /proc tree instead of by program interface to /dev.  Furthermore, no
242	  power management functions are exposed, as those are handled by the
243	  general ACPI drivers.
244
245	  More information about this driver is available at
246	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
247
248	  If you have a legacy free Toshiba laptop (such as the Libretto L1
249	  series), say Y.
250
251config ACPI_CUSTOM_DSDT
252	bool "Include Custom DSDT"
253	depends on !STANDALONE
254	default n
255	help
256	  Thist option is to load a custom ACPI DSDT
257	  If you don't know what that is, say N.
258
259config ACPI_CUSTOM_DSDT_FILE
260	string "Custom DSDT Table file to include"
261	depends on ACPI_CUSTOM_DSDT
262	default ""
263	help
264	  Enter the full path name to the file which includes the AmlCode
265	  declaration.
266
267config ACPI_BLACKLIST_YEAR
268	int "Disable ACPI for systems before Jan 1st this year" if X86_32
269	default 0
270	help
271	  enter a 4-digit year, eg. 2001 to disable ACPI by default
272	  on platforms with DMI BIOS date before January 1st that year.
273	  "acpi=force" can be used to override this mechanism.
274
275	  Enter 0 to disable this mechanism and allow ACPI to
276	  run by default no matter what the year.  (default)
277
278config ACPI_DEBUG
279	bool "Debug Statements"
280	default n
281	help
282	  The ACPI driver can optionally report errors with a great deal
283	  of verbosity. Saying Y enables these statements. This will increase
284	  your kernel size by around 50K.
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 powermanagement 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 ACPI
337	depends on MEMORY_HOTPLUG
338	default n
339	help
340	  This driver adds supports for ACPI Memory Hotplug.  This driver
341	  provides support for fielding notifications on ACPI memory
342	  devices (PNP0C80) which represent memory ranges that may be
343	  onlined or offlined during runtime.
344
345	  Enabling this driver assumes that your platform hardware
346	  and firmware have support for hot-plugging physical memory. If
347	  your system does not support physically adding or ripping out
348	  memory DIMMs at some platfrom defined granularity (individually
349	  or as a bank) at runtime, then you need not enable this driver.
350
351	  If one selects "m," this driver can be loaded using the following
352	  command:
353		$>modprobe acpi_memhotplug
354
355config ACPI_SBS
356	tristate "Smart Battery System (EXPERIMENTAL)"
357	depends on X86 && I2C
358	depends on EXPERIMENTAL
359	help
360	  This driver adds support for the Smart Battery System.
361	  Depends on I2C (Device Drivers ---> I2C support)
362	  A "Smart Battery" is quite old and quite rare compared
363	  to today's ACPI "Control Method" battery.
364
365endif	# ACPI
366
367endmenu
368