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