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