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