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