ALSA: seq: Fix race at timer setup and close
[pandora-kernel.git] / sound / core / Kconfig
1 # ALSA soundcard-configuration
2 config SND_TIMER
3         tristate
4
5 config SND_PCM
6         tristate
7         select SND_TIMER
8         select GCD
9
10 config SND_HWDEP
11         tristate
12
13 config SND_RAWMIDI
14         tristate
15
16 # To be effective this also requires INPUT - users should say:
17 #    select SND_JACK if INPUT=y || INPUT=SND
18 # to avoid having to force INPUT on.
19 config SND_JACK
20         bool
21
22 config SND_SEQUENCER
23         tristate "Sequencer support"
24         select SND_TIMER
25         help
26           Say Y or M to enable MIDI sequencer and router support.  This
27           feature allows routing and enqueueing of MIDI events.  Events
28           can be processed at a given time.
29
30           Many programs require this feature, so you should enable it
31           unless you know what you're doing.
32
33 config SND_SEQ_DUMMY
34         tristate "Sequencer dummy client"
35         depends on SND_SEQUENCER
36         help
37           Say Y here to enable the dummy sequencer client.  This client
38           is a simple MIDI-through client: all normal input events are
39           redirected to the output port immediately.
40
41           You don't need this unless you want to connect many MIDI
42           devices or applications together.
43
44           To compile this driver as a module, choose M here: the module
45           will be called snd-seq-dummy.
46
47 config SND_OSSEMUL
48         select SOUND_OSS_CORE
49         bool
50
51 config SND_MIXER_OSS
52         tristate "OSS Mixer API"
53         select SND_OSSEMUL
54         help
55           To enable OSS mixer API emulation (/dev/mixer*), say Y here
56           and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
57
58           Many programs still use the OSS API, so say Y.
59
60           To compile this driver as a module, choose M here: the module
61           will be called snd-mixer-oss.
62
63 config SND_PCM_OSS
64         tristate "OSS PCM (digital audio) API"
65         select SND_OSSEMUL
66         select SND_PCM
67         help
68           To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
69           here and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
70
71           Many programs still use the OSS API, so say Y.
72
73           To compile this driver as a module, choose M here: the module
74           will be called snd-pcm-oss.
75
76 config SND_PCM_OSS_PLUGINS
77         bool "OSS PCM (digital audio) API - Include plugin system"
78         depends on SND_PCM_OSS
79         default y
80         help
81           If you disable this option, the ALSA's OSS PCM API will not
82           support conversion of channels, formats and rates. It will
83           behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
84
85 config SND_SEQUENCER_OSS
86         bool "OSS Sequencer API"
87         depends on SND_SEQUENCER
88         select SND_OSSEMUL
89         help
90           Say Y here to enable OSS sequencer emulation (both
91           /dev/sequencer and /dev/music interfaces).
92
93           Many programs still use the OSS API, so say Y.
94
95           If you choose M in "Sequencer support" (SND_SEQUENCER),
96           this will be compiled as a module. The module will be called
97           snd-seq-oss.
98
99 config SND_HRTIMER
100         tristate "HR-timer backend support"
101         depends on HIGH_RES_TIMERS
102         select SND_TIMER
103         help
104           Say Y here to enable HR-timer backend for ALSA timer.  ALSA uses
105           the hrtimer as a precise timing source. The ALSA sequencer code
106           also can use this timing source.
107
108           To compile this driver as a module, choose M here: the module
109           will be called snd-hrtimer.
110
111 config SND_SEQ_HRTIMER_DEFAULT
112         bool "Use HR-timer as default sequencer timer"
113         depends on SND_HRTIMER && SND_SEQUENCER
114         default y
115         help
116           Say Y here to use the HR-timer backend as the default sequencer
117           timer.
118
119 config SND_RTCTIMER
120         tristate "RTC Timer support"
121         depends on RTC
122         select SND_TIMER
123         help
124           Say Y here to enable RTC timer support for ALSA.  ALSA uses
125           the RTC timer as a precise timing source and maps the RTC
126           timer to ALSA's timer interface.  The ALSA sequencer code also
127           can use this timing source.
128
129           To compile this driver as a module, choose M here: the module
130           will be called snd-rtctimer.
131
132           Note that this option is exclusive with the new RTC drivers
133           (CONFIG_RTC_CLASS) since this requires the old API.
134
135 config SND_SEQ_RTCTIMER_DEFAULT
136         bool "Use RTC as default sequencer timer"
137         depends on SND_RTCTIMER && SND_SEQUENCER
138         depends on !SND_SEQ_HRTIMER_DEFAULT
139         default y
140         help
141           Say Y here to use the RTC timer as the default sequencer
142           timer.  This is strongly recommended because it ensures
143           precise MIDI timing even when the system timer runs at less
144           than 1000 Hz.
145
146           If in doubt, say Y.
147
148 config SND_DYNAMIC_MINORS
149         bool "Dynamic device file minor numbers"
150         help
151           If you say Y here, the minor numbers of ALSA device files in
152           /dev/snd/ are allocated dynamically.  This allows you to have
153           more than 8 sound cards, but requires a dynamic device file
154           system like udev.
155
156           If you are unsure about this, say N here.
157
158 config SND_SUPPORT_OLD_API
159         bool "Support old ALSA API"
160         default y
161         help
162           Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
163           or older).
164
165 config SND_VERBOSE_PROCFS
166         bool "Verbose procfs contents"
167         depends on PROC_FS
168         default y
169         help
170           Say Y here to include code for verbose procfs contents (provides
171           useful information to developers when a problem occurs).  On the
172           other side, it makes the ALSA subsystem larger.
173
174 config SND_VERBOSE_PRINTK
175         bool "Verbose printk"
176         help
177           Say Y here to enable verbose log messages.  These messages
178           will help to identify source file and position containing
179           printed messages.
180
181           You don't need this unless you're debugging ALSA.
182
183 config SND_DEBUG
184         bool "Debug"
185         help
186           Say Y here to enable ALSA debug code.
187
188 config SND_DEBUG_VERBOSE
189         bool "More verbose debug"
190         depends on SND_DEBUG
191         help
192           Say Y here to enable extra-verbose debugging messages.
193           
194           Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
195           So, say Y only if you are ready to be annoyed.
196
197 config SND_PCM_XRUN_DEBUG
198         bool "Enable PCM ring buffer overrun/underrun debugging"
199         default n
200         depends on SND_DEBUG && SND_VERBOSE_PROCFS
201         help
202           Say Y to enable the PCM ring buffer overrun/underrun debugging.
203           It is usually not required, but if you have trouble with
204           sound clicking when system is loaded, it may help to determine
205           the process or driver which causes the scheduling gaps.
206
207 config SND_VMASTER
208         bool
209
210 config SND_DMA_SGBUF
211         def_bool y
212         depends on X86
213
214 source "sound/core/seq/Kconfig"