xref: /linux/drivers/acpi/Kconfig (revision 20d0021394c1b070bf04b22c5bc8fdb437edd4c5)
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 m
137	help
138	ACPI generic hotkey
139
140config ACPI_FAN
141	tristate "Fan"
142	default m
143	help
144	  This driver adds support for ACPI fan devices, allowing user-mode
145	  applications to perform basic fan control (on, off, status).
146
147config ACPI_PROCESSOR
148	tristate "Processor"
149	default m
150	help
151	  This driver installs ACPI as the idle handler for Linux, and uses
152	  ACPI C2 and C3 processor states to save power, on systems that
153	  support it.
154
155config ACPI_HOTPLUG_CPU
156	bool "Processor Hotplug (EXPERIMENTAL)"
157	depends on ACPI_PROCESSOR && HOTPLUG_CPU && EXPERIMENTAL
158	select ACPI_CONTAINER
159	default n
160	 ---help---
161	 Select this option if your platform support physical CPU hotplug.
162
163config ACPI_THERMAL
164	tristate "Thermal Zone"
165	depends on ACPI_PROCESSOR
166	default m
167	help
168	  This driver adds support for ACPI thermal zones.  Most mobile and
169	  some desktop systems support ACPI thermal zones.  It is HIGHLY
170	  recommended that this option be enabled, as your processor(s)
171	  may be damaged without it.
172
173config ACPI_NUMA
174	bool "NUMA support"
175	depends on NUMA
176	depends on (IA64 || X86_64)
177	default y if IA64_GENERIC || IA64_SGI_SN2
178
179config ACPI_ASUS
180        tristate "ASUS/Medion Laptop Extras"
181	depends on X86
182	default m
183        ---help---
184          This driver provides support for extra features of ACPI-compatible
185          ASUS laptops. As some of Medion laptops are made by ASUS, it may also
186          support some Medion laptops (such as 9675 for example).  It makes all
187          the extra buttons generate standard ACPI events that go through
188          /proc/acpi/events, and (on some models) adds support for changing the
189          display brightness and output, switching the LCD backlight on and off,
190          and most importantly, allows you to blink those fancy LEDs intended
191          for reporting mail and wireless status.
192
193	  Note: display switching code is currently considered EXPERIMENTAL,
194	  toying with these values may even lock your machine.
195
196          All settings are changed via /proc/acpi/asus directory entries. Owner
197          and group for these entries can be set with asus_uid and asus_gid
198          parameters.
199
200          More information and a userspace daemon for handling the extra buttons
201          at <http://sourceforge.net/projects/acpi4asus/>.
202
203          If you have an ACPI-compatible ASUS laptop, say Y or M here. This
204          driver is still under development, so if your laptop is unsupported or
205          something works not quite as expected, please use the mailing list
206          available on the above page (acpi4asus-user@lists.sourceforge.net)
207
208config ACPI_IBM
209	tristate "IBM ThinkPad Laptop Extras"
210	depends on X86
211	default m
212	---help---
213	  This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
214	  support for Fn-Fx key combinations, Bluetooth control, video
215	  output switching, ThinkLight control, UltraBay eject and more.
216	  For more information about this driver see <file:Documentation/ibm-acpi.txt>
217	  and <http://ibm-acpi.sf.net/> .
218
219	  If you have an IBM ThinkPad laptop, say Y or M here.
220
221config ACPI_TOSHIBA
222	tristate "Toshiba Laptop Extras"
223	depends on X86
224	default m
225	---help---
226	  This driver adds support for access to certain system settings
227	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
228	  their lack of a BIOS setup menu and APM support.
229
230	  On these machines, all system configuration is handled through the
231	  ACPI.  This driver is required for access to controls not covered
232	  by the general ACPI drivers, such as LCD brightness, video output,
233	  etc.
234
235	  This driver differs from the non-ACPI Toshiba laptop driver (located
236	  under "Processor type and features") in several aspects.
237	  Configuration is accessed by reading and writing text files in the
238	  /proc tree instead of by program interface to /dev.  Furthermore, no
239	  power management functions are exposed, as those are handled by the
240	  general ACPI drivers.
241
242	  More information about this driver is available at
243	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
244
245	  If you have a legacy free Toshiba laptop (such as the Libretto L1
246	  series), say Y.
247
248config ACPI_CUSTOM_DSDT
249	bool "Include Custom DSDT"
250	depends on !STANDALONE
251	default n
252	help
253	  Thist option is to load a custom ACPI DSDT
254	  If you don't know what that is, say N.
255
256config ACPI_CUSTOM_DSDT_FILE
257	string "Custom DSDT Table file to include"
258	depends on ACPI_CUSTOM_DSDT
259	default ""
260	help
261	  Enter the full path name to the file wich includes the AmlCode declaration.
262
263config ACPI_BLACKLIST_YEAR
264	int "Disable ACPI for systems before Jan 1st this year"
265	depends on ACPI_INTERPRETER
266	default 0
267	help
268	  enter a 4-digit year, eg. 2001 to disable ACPI by default
269	  on platforms with DMI BIOS date before January 1st that year.
270	  "acpi=force" can be used to override this mechanism.
271
272	  Enter 0 to disable this mechanism and allow ACPI to
273	  run by default no matter what the year.  (default)
274
275config ACPI_DEBUG
276	bool "Debug Statements"
277	default n
278	help
279	  The ACPI driver can optionally report errors with a great deal
280	  of verbosity. Saying Y enables these statements. This will increase
281	  your kernel size by around 50K.
282
283config ACPI_BUS
284	bool
285	default y
286
287config ACPI_EC
288	bool
289	depends on X86
290	default y
291	help
292	  This driver is required on some systems for the proper operation of
293	  the battery and thermal drivers.  If you are compiling for a
294	  mobile system, say Y.
295
296config ACPI_POWER
297	bool
298	default y
299
300config ACPI_PCI
301	bool
302	default PCI
303
304config ACPI_SYSTEM
305	bool
306	default y
307	help
308	  This driver will enable your system to shut down using ACPI, and
309	  dump your ACPI DSDT table using /proc/acpi/dsdt.
310
311endif	# ACPI_INTERPRETER
312
313config X86_PM_TIMER
314	bool "Power Management Timer Support"
315	depends on X86
316	depends on ACPI_BOOT && EXPERIMENTAL
317	depends on !X86_64
318	default n
319	help
320	  The Power Management Timer is available on all ACPI-capable,
321	  in most cases even if ACPI is unusable or blacklisted.
322
323	  This timing source is not affected by powermanagement features
324	  like aggressive processor idling, throttling, frequency and/or
325	  voltage scaling, unlike the commonly used Time Stamp Counter
326	  (TSC) timing source.
327
328	  So, if you see messages like 'Losing too many ticks!' in the
329	  kernel logs, and/or you are using this on a notebook which
330	  does not yet have an HPET, you should say "Y" here.
331
332config ACPI_CONTAINER
333	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
334	depends on EXPERIMENTAL
335	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
336	 ---help---
337	  This allows _physical_ insertion and removal of CPUs and memory.
338	  This can be useful, for example, on NUMA machines that support
339	  ACPI based physical hotplug of nodes, or non-NUMA machines that
340	  support physical cpu/memory hot-plug.
341
342	  If one selects "m", this driver can be loaded with
343	  "modprobe acpi_container".
344
345config ACPI_HOTPLUG_MEMORY
346	tristate "Memory Hotplug"
347	depends on ACPI
348	depends on MEMORY_HOTPLUG
349	default n
350	help
351	  This driver adds supports for ACPI Memory Hotplug.  This driver
352	  provides support for fielding notifications on ACPI memory
353	  devices (PNP0C80) which represent memory ranges that may be
354	  onlined or offlined during runtime.
355
356	  Enabling this driver assumes that your platform hardware
357	  and firmware have support for hot-plugging physical memory. If
358	  your system does not support physically adding or ripping out
359	  memory DIMMs at some platfrom defined granularity (individually
360	  or as a bank) at runtime, then you need not enable this driver.
361
362	  If one selects "m," this driver can be loaded using the following
363	  command:
364		$>modprobe acpi_memhotplug
365endif	# ACPI
366
367endmenu
368