Kconfig 7.6 KB

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