Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2# ALSA soundcard-configuration
3config SND_TIMER
4 tristate
5
6config SND_PCM
7 tristate
8 select SND_TIMER if SND_PCM_TIMER
9
10config SND_PCM_ELD
11 bool
12
13config SND_PCM_IEC958
14 bool
15
16config SND_DMAENGINE_PCM
17 tristate
18
19config SND_HWDEP
20 tristate
21
22config SND_SEQ_DEVICE
23 tristate
24
25config SND_RAWMIDI
26 tristate
27 select SND_SEQ_DEVICE if SND_SEQUENCER != n
28
29config SND_UMP
30 tristate
31 select SND_RAWMIDI
32
33config SND_UMP_LEGACY_RAWMIDI
34 bool "Legacy raw MIDI support for UMP streams"
35 depends on SND_UMP
36 help
37 This option enables the legacy raw MIDI support for UMP streams.
38 When this option is set, an additional rawmidi device for the
39 legacy MIDI 1.0 byte streams is created for each UMP Endpoint.
40 The device contains 16 substreams corresponding to UMP groups.
41
42config SND_CORE_TEST
43 tristate "Sound core KUnit test"
44 depends on KUNIT
45 select SND_PCM
46 default KUNIT_ALL_TESTS
47 help
48 This options enables the sound core functions KUnit test.
49
50 KUnit tests run during boot and output the results to the debug
51 log in TAP format (https://testanything.org/). Only useful for
52 kernel devs running KUnit test harness and are not for inclusion
53 into a production build.
54
55 For more information on KUnit and unit tests in general, refer
56 to the KUnit documentation in Documentation/dev-tools/kunit/.
57
58
59config SND_COMPRESS_OFFLOAD
60 tristate
61
62config SND_JACK
63 bool
64
65# enable input device support in jack layer
66config SND_JACK_INPUT_DEV
67 bool
68 depends on SND_JACK
69 default y if INPUT=y || INPUT=SND
70
71config SND_OSSEMUL
72 bool "Enable OSS Emulation"
73 select SOUND_OSS_CORE
74 help
75 This option enables the build of OSS emulation layer.
76
77config SND_MIXER_OSS
78 tristate "OSS Mixer API"
79 depends on SND_OSSEMUL
80 help
81 To enable OSS mixer API emulation (/dev/mixer*), say Y here
82 and read <file:Documentation/sound/designs/oss-emulation.rst>.
83
84 Many programs still use the OSS API, so say Y.
85
86 To compile this driver as a module, choose M here: the module
87 will be called snd-mixer-oss.
88
89config SND_PCM_OSS
90 tristate "OSS PCM (digital audio) API"
91 depends on SND_OSSEMUL
92 select SND_PCM
93 help
94 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
95 here and read <file:Documentation/sound/designs/oss-emulation.rst>.
96
97 Many programs still use the OSS API, so say Y.
98
99 To compile this driver as a module, choose M here: the module
100 will be called snd-pcm-oss.
101
102config SND_PCM_OSS_PLUGINS
103 bool "OSS PCM (digital audio) API - Include plugin system"
104 depends on SND_PCM_OSS
105 default y
106 help
107 If you disable this option, the ALSA's OSS PCM API will not
108 support conversion of channels, formats and rates. It will
109 behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
110
111config SND_PCM_TIMER
112 bool "PCM timer interface" if EXPERT
113 default y
114 help
115 If you disable this option, pcm timer will be unavailable, so
116 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
117 incorrectly.
118
119 For some embedded devices, we may disable it to reduce memory
120 footprint, about 20KB on x86_64 platform.
121
122config SND_HRTIMER
123 tristate "HR-timer backend support"
124 depends on HIGH_RES_TIMERS
125 select SND_TIMER
126 help
127 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
128 the hrtimer as a precise timing source. The ALSA sequencer code
129 also can use this timing source.
130
131 To compile this driver as a module, choose M here: the module
132 will be called snd-hrtimer.
133
134config SND_DYNAMIC_MINORS
135 bool "Dynamic device file minor numbers"
136 help
137 If you say Y here, the minor numbers of ALSA device files in
138 /dev/snd/ are allocated dynamically. This allows you to have
139 more than 8 sound cards, but requires a dynamic device file
140 system like udev.
141
142 If you are unsure about this, say N here.
143
144config SND_MAX_CARDS
145 int "Max number of sound cards"
146 range 4 256
147 default 32
148 depends on SND_DYNAMIC_MINORS
149 help
150 Specify the max number of sound cards that can be assigned
151 on a single machine.
152
153config SND_SUPPORT_OLD_API
154 bool "Support old ALSA API"
155 default y
156 help
157 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
158 or older).
159
160config SND_PROC_FS
161 bool "Sound Proc FS Support" if EXPERT
162 depends on PROC_FS
163 default y
164 help
165 Say 'N' to disable Sound proc FS, which may reduce code size about
166 9KB on x86_64 platform.
167 If unsure say Y.
168
169config SND_VERBOSE_PROCFS
170 bool "Verbose procfs contents"
171 depends on SND_PROC_FS
172 default y
173 help
174 Say Y here to include code for verbose procfs contents (provides
175 useful information to developers when a problem occurs). On the
176 other side, it makes the ALSA subsystem larger.
177
178config SND_VERBOSE_PRINTK
179 bool "Verbose printk"
180 help
181 Say Y here to enable verbose log messages. These messages
182 will help to identify source file and position containing
183 printed messages.
184
185 You don't need this unless you're debugging ALSA.
186
187config SND_CTL_FAST_LOOKUP
188 bool "Fast lookup of control elements" if EXPERT
189 default y
190 select XARRAY_MULTI
191 help
192 This option enables the faster lookup of control elements.
193 It will consume more memory because of the additional Xarray.
194 If you want to choose the memory footprint over the performance
195 inevitably, turn this off.
196
197config SND_DEBUG
198 bool "Debug"
199 help
200 Say Y here to enable ALSA debug code.
201
202config SND_DEBUG_VERBOSE
203 bool "More verbose debug"
204 depends on SND_DEBUG
205 help
206 Say Y here to enable extra-verbose debugging messages.
207
208 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
209 So, say Y only if you are ready to be annoyed.
210
211config SND_PCM_XRUN_DEBUG
212 bool "Enable PCM ring buffer overrun/underrun debugging"
213 default n
214 depends on SND_DEBUG && SND_VERBOSE_PROCFS
215 help
216 Say Y to enable the PCM ring buffer overrun/underrun debugging.
217 It is usually not required, but if you have trouble with
218 sound clicking when system is loaded, it may help to determine
219 the process or driver which causes the scheduling gaps.
220
221config SND_CTL_INPUT_VALIDATION
222 bool "Validate input data to control API"
223 help
224 Say Y to enable the additional validation for the input data to
225 each control element, including the value range checks.
226 An error is returned from ALSA core for invalid inputs without
227 passing to the driver. This is a kind of hardening for drivers
228 that have no proper error checks, at the cost of a slight
229 performance overhead.
230
231config SND_CTL_DEBUG
232 bool "Enable debugging feature for control API"
233 depends on SND_DEBUG
234 help
235 Say Y to enable the debugging feature for ALSA control API.
236 It performs the additional sanity-checks for each control element
237 read access, such as whether the values returned from the driver
238 are in the proper ranges or the check of the invalid access at
239 out-of-array areas. The error is printed when the driver gives
240 such unexpected values.
241 When you develop a driver that deals with control elements, it's
242 strongly recommended to try this one once and verify whether you see
243 any relevant errors or not.
244
245config SND_JACK_INJECTION_DEBUG
246 bool "Sound jack injection interface via debugfs"
247 depends on SND_JACK && SND_DEBUG && DEBUG_FS
248 help
249 This option can be used to enable or disable sound jack
250 software injection.
251 Say Y if you are debugging via jack injection interface.
252 If unsure select "N".
253
254config SND_VMASTER
255 bool
256
257config SND_DMA_SGBUF
258 def_bool y
259 depends on X86
260
261config SND_CTL_LED
262 tristate
263 select NEW_LEDS if SND_CTL_LED
264 select LEDS_TRIGGERS if SND_CTL_LED
265
266source "sound/core/seq/Kconfig"