Kconfig 7.5 KB

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