# ALSA soundcard-configuration
config SND_BIT32_EMUL
	tristate "Emulation for 32-bit applications"
	depends on SND && (SPARC64 || PPC64 || X86_64 && IA32_EMULATION)

config SND_SEQUENCER
	tristate "Sequencer support"
	depends on SND
	help
	  Say 'Y' or 'M' to enable MIDI sequencer and router support. This feature
	  allows routing and enqueing MIDI events. Events can be processed at given
	  time.

config SND_SEQ_DUMMY
	tristate "Sequencer dummy client"
	depends on SND_SEQUENCER
	help
	  Say 'Y' or 'M' to enable dummy sequencer client. This client is a simple
	  midi-through client. All normal input events are redirected to output port
	  immediately.

config SND_OSSEMUL
	bool "OSS API emulation"
	depends on SND
	help
	  Say 'Y' to enable OSS (Open Sound System) API emulation code.

config SND_MIXER_OSS
	tristate "OSS Mixer API"
	depends on SND_OSSEMUL && SND
	help
	  Say 'Y' or 'M' to enable mixer OSS API emulation (/dev/mixer*).

config SND_PCM_OSS
	tristate "OSS PCM (digital audio) API"
	depends on SND_OSSEMUL && SND
	help
	  Say 'Y' or 'M' to enable digital audio (PCM) OSS API emulation (/dev/dsp*).

config SND_SEQUENCER_OSS
	bool "OSS Sequencer API"
	depends on SND_OSSEMUL && SND_SEQUENCER
	help
	  Say 'Y' to enable OSS sequencer emulation (both /dev/sequencer and
	  /dev/music interfaces).

config SND_RTCTIMER
	tristate "RTC Timer support"
	depends on SND && RTC
	help
	  Say 'Y' or 'M' to enable RTC timer support for ALSA. ALSA code uses RTC
	  timer as precise timing source and maps the RTC timer to the ALSA's timer
	  interface. ALSA sequencer code can also use this timing source.

config SND_VERBOSE_PRINTK
	bool "Verbose printk"
	depends on SND
	help
	  Say 'Y' to enable verbose log messages. These messages will help to
	  identify source file and position containing printed messages.

config SND_DEBUG
	bool "Debug"
	depends on SND
	help
	  Say 'Y' to enable ALSA debug code.

config SND_DEBUG_MEMORY
	bool "Debug memory"
	depends on SND_DEBUG
	help
	  Say 'Y' to enable debugging of memory allocation.

config SND_DEBUG_DETECT
	bool "Debug detection"
	depends on SND_DEBUG

