Merge branch 'address-masking'
[linux-2.6-block.git] / sound / core / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 # ALSA soundcard-configuration
3 config SND_TIMER
4         tristate
5
6 config SND_PCM
7         tristate
8         select SND_TIMER if SND_PCM_TIMER
9
10 config SND_PCM_ELD
11         bool
12
13 config SND_PCM_IEC958
14         bool
15
16 config SND_DMAENGINE_PCM
17         tristate
18
19 config SND_HWDEP
20         tristate
21
22 config SND_SEQ_DEVICE
23         tristate
24
25 config SND_RAWMIDI
26         tristate
27         select SND_SEQ_DEVICE if SND_SEQUENCER != n
28
29 config SND_UMP
30         tristate
31         select SND_RAWMIDI
32
33 config 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
42 config 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
59 config SND_COMPRESS_OFFLOAD
60         tristate
61
62 config SND_JACK
63         bool
64
65 # enable input device support in jack layer
66 config SND_JACK_INPUT_DEV
67         bool
68         depends on SND_JACK
69         default y if INPUT=y || INPUT=SND
70
71 config 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
77 config 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
89 config 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
102 config 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
111 config 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
122 config 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
134 config 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
144 config 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
153 config 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
160 config 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
169 config 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
178 config 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
187 config 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
197 config SND_DEBUG
198         bool "Debug"
199         help
200           Say Y here to enable ALSA debug code.
201
202 config 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
211 config 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
221 config 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
231 config 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
245 config 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
254 config SND_VMASTER
255         bool
256
257 config SND_DMA_SGBUF
258         def_bool y
259         depends on X86
260
261 config SND_CTL_LED
262         tristate
263         select NEW_LEDS if SND_CTL_LED
264         select LEDS_TRIGGERS if SND_CTL_LED
265
266 source "sound/core/seq/Kconfig"