162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenuconfig SOUND
362306a36Sopenharmony_ci	tristate "Sound card support"
462306a36Sopenharmony_ci	depends on HAS_IOMEM || UML
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  If you have a sound card in your computer, i.e. if it can say more
762306a36Sopenharmony_ci	  than an occasional beep, say Y.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciif SOUND
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciconfig SOUND_OSS_CORE
1262306a36Sopenharmony_ci	bool
1362306a36Sopenharmony_ci	default n
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciconfig SOUND_OSS_CORE_PRECLAIM
1662306a36Sopenharmony_ci	bool "Preclaim OSS device numbers"
1762306a36Sopenharmony_ci	depends on SOUND_OSS_CORE
1862306a36Sopenharmony_ci	default y
1962306a36Sopenharmony_ci	help
2062306a36Sopenharmony_ci	  With this option enabled, the kernel will claim all OSS device
2162306a36Sopenharmony_ci	  numbers if any OSS support (native or emulation) is enabled
2262306a36Sopenharmony_ci	  whether the respective module is loaded or not and try to load the
2362306a36Sopenharmony_ci	  appropriate module using sound-slot/service-* and char-major-*
2462306a36Sopenharmony_ci	  module aliases when one of the device numbers is opened.  With
2562306a36Sopenharmony_ci	  this option disabled, kernel will only claim actually in-use
2662306a36Sopenharmony_ci	  device numbers and opening a missing device will generate only the
2762306a36Sopenharmony_ci	  standard char-major-* aliases.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	  The only visible difference is use of additional module aliases
3062306a36Sopenharmony_ci	  and whether OSS sound devices appear multiple times in
3162306a36Sopenharmony_ci	  /proc/devices.  sound-slot/service-* module aliases are scheduled
3262306a36Sopenharmony_ci	  to be removed (ie. PRECLAIM won't be available) and this option is
3362306a36Sopenharmony_ci	  to make the transition easier.  This option can be overridden
3462306a36Sopenharmony_ci	  during boot using the kernel parameter soundcore.preclaim_oss.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	  Disabling this allows alternative OSS implementations.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	  If unsure, say Y.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cisource "sound/oss/dmasound/Kconfig"
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_cimenuconfig SND
4362306a36Sopenharmony_ci	tristate "Advanced Linux Sound Architecture"
4462306a36Sopenharmony_ci	help
4562306a36Sopenharmony_ci	  Say 'Y' or 'M' to enable ALSA (Advanced Linux Sound Architecture),
4662306a36Sopenharmony_ci	  the new base sound system.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	  For more information, see <http://www.alsa-project.org/>
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciif SND
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_cisource "sound/core/Kconfig"
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cisource "sound/drivers/Kconfig"
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_cisource "sound/isa/Kconfig"
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_cisource "sound/pci/Kconfig"
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cisource "sound/hda/Kconfig"
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_cisource "sound/ppc/Kconfig"
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_cisource "sound/ac97/Kconfig"
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_cisource "sound/aoa/Kconfig"
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_cisource "sound/arm/Kconfig"
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_cisource "sound/atmel/Kconfig"
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_cisource "sound/spi/Kconfig"
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_cisource "sound/mips/Kconfig"
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_cisource "sound/sh/Kconfig"
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci# the following will depend on the order of config.
7962306a36Sopenharmony_ci# here assuming USB is defined before ALSA
8062306a36Sopenharmony_cisource "sound/usb/Kconfig"
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_cisource "sound/firewire/Kconfig"
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci# the following will depend on the order of config.
8562306a36Sopenharmony_ci# here assuming PCMCIA is defined before ALSA
8662306a36Sopenharmony_cisource "sound/pcmcia/Kconfig"
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_cisource "sound/sparc/Kconfig"
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_cisource "sound/parisc/Kconfig"
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_cisource "sound/soc/Kconfig"
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_cisource "sound/x86/Kconfig"
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_cisource "sound/synth/Kconfig"
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_cisource "sound/xen/Kconfig"
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_cisource "sound/virtio/Kconfig"
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ciendif # SND
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ciendif # SOUND
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ciconfig AC97_BUS
10762306a36Sopenharmony_ci	tristate
10862306a36Sopenharmony_ci	help
10962306a36Sopenharmony_ci	  This is used to avoid config and link hard dependencies between the
11062306a36Sopenharmony_ci	  sound subsystem and other function drivers completely unrelated to
11162306a36Sopenharmony_ci	  sound although they're sharing the AC97 bus. Concerned drivers
11262306a36Sopenharmony_ci	  should "select" this.
113