mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
111b0cdb97
Many drivers bind the sequencer stuff in off-load by another driver module, so that it's loaded only on demand. In the current code, this mechanism doesn't work when the driver is built-in while the sequencer is module. We check with IS_REACHABLE() and enable only when the sequencer is in the same level of build. However, this is basically a overshoot. The binder code (snd-seq-device) is an individual module from the sequencer core (snd-seq), and we just have to make the former a built-in while keeping the latter a module for allowing the scenario like the above. This patch achieves that by rewriting Kconfig slightly. Now, a driver that provides the manual sequencer device binding should select CONFIG_SND_SEQ_DEVICE in a way as select SND_SEQ_DEVICE if SND_SEQUENCER != n Note that the "!=n" is needed here to avoid the influence of the sequencer core is module while the driver is built-in. Also, since rawmidi.o may be linked with snd_seq_device.o when built-in, we have to shuffle the code to make the linker happy. (the kernel linker isn't smart enough yet to handle such a case.) That is, snd_seq_device.c is moved to sound/core from sound/core/seq, as well as Makefile. Last but not least, the patch replaces the code using IS_REACHABLE() with IS_ENABLED(), since now the condition meets always when enabled. Signed-off-by: Takashi Iwai <tiwai@suse.de>
188 lines
4.7 KiB
Plaintext
188 lines
4.7 KiB
Plaintext
# ALSA soundcard-configuration
|
|
config SND_TIMER
|
|
tristate
|
|
|
|
config SND_PCM
|
|
tristate
|
|
select SND_TIMER if SND_PCM_TIMER
|
|
|
|
config SND_PCM_ELD
|
|
bool
|
|
|
|
config SND_PCM_IEC958
|
|
bool
|
|
|
|
config SND_DMAENGINE_PCM
|
|
tristate
|
|
|
|
config SND_HWDEP
|
|
tristate
|
|
|
|
config SND_SEQ_DEVICE
|
|
tristate
|
|
|
|
config SND_RAWMIDI
|
|
tristate
|
|
select SND_SEQ_DEVICE if SND_SEQUENCER != n
|
|
|
|
config SND_COMPRESS_OFFLOAD
|
|
tristate
|
|
|
|
config SND_JACK
|
|
bool
|
|
|
|
# enable input device support in jack layer
|
|
config SND_JACK_INPUT_DEV
|
|
bool
|
|
depends on SND_JACK
|
|
default y if INPUT=y || INPUT=SND
|
|
|
|
config SND_OSSEMUL
|
|
bool "Enable OSS Emulation"
|
|
select SOUND_OSS_CORE
|
|
help
|
|
This option enables the build of OSS emulation layer.
|
|
|
|
config SND_MIXER_OSS
|
|
tristate "OSS Mixer API"
|
|
depends on SND_OSSEMUL
|
|
help
|
|
To enable OSS mixer API emulation (/dev/mixer*), say Y here
|
|
and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
|
|
|
|
Many programs still use the OSS API, so say Y.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-mixer-oss.
|
|
|
|
config SND_PCM_OSS
|
|
tristate "OSS PCM (digital audio) API"
|
|
depends on SND_OSSEMUL
|
|
select SND_PCM
|
|
help
|
|
To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
|
|
here and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
|
|
|
|
Many programs still use the OSS API, so say Y.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-pcm-oss.
|
|
|
|
config SND_PCM_OSS_PLUGINS
|
|
bool "OSS PCM (digital audio) API - Include plugin system"
|
|
depends on SND_PCM_OSS
|
|
default y
|
|
help
|
|
If you disable this option, the ALSA's OSS PCM API will not
|
|
support conversion of channels, formats and rates. It will
|
|
behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
|
|
|
|
config SND_PCM_TIMER
|
|
bool "PCM timer interface" if EXPERT
|
|
default y
|
|
help
|
|
If you disable this option, pcm timer will be unavailable, so
|
|
those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
|
|
incorrectlly.
|
|
|
|
For some embedded devices, we may disable it to reduce memory
|
|
footprint, about 20KB on x86_64 platform.
|
|
|
|
config SND_HRTIMER
|
|
tristate "HR-timer backend support"
|
|
depends on HIGH_RES_TIMERS
|
|
select SND_TIMER
|
|
help
|
|
Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
|
|
the hrtimer as a precise timing source. The ALSA sequencer code
|
|
also can use this timing source.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-hrtimer.
|
|
|
|
config SND_DYNAMIC_MINORS
|
|
bool "Dynamic device file minor numbers"
|
|
help
|
|
If you say Y here, the minor numbers of ALSA device files in
|
|
/dev/snd/ are allocated dynamically. This allows you to have
|
|
more than 8 sound cards, but requires a dynamic device file
|
|
system like udev.
|
|
|
|
If you are unsure about this, say N here.
|
|
|
|
config SND_MAX_CARDS
|
|
int "Max number of sound cards"
|
|
range 4 256
|
|
default 32
|
|
depends on SND_DYNAMIC_MINORS
|
|
help
|
|
Specify the max number of sound cards that can be assigned
|
|
on a single machine.
|
|
|
|
config SND_SUPPORT_OLD_API
|
|
bool "Support old ALSA API"
|
|
default y
|
|
help
|
|
Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
|
|
or older).
|
|
|
|
config SND_PROC_FS
|
|
bool "Sound Proc FS Support" if EXPERT
|
|
depends on PROC_FS
|
|
default y
|
|
help
|
|
Say 'N' to disable Sound proc FS, which may reduce code size about
|
|
9KB on x86_64 platform.
|
|
If unsure say Y.
|
|
|
|
config SND_VERBOSE_PROCFS
|
|
bool "Verbose procfs contents"
|
|
depends on SND_PROC_FS
|
|
default y
|
|
help
|
|
Say Y here to include code for verbose procfs contents (provides
|
|
useful information to developers when a problem occurs). On the
|
|
other side, it makes the ALSA subsystem larger.
|
|
|
|
config SND_VERBOSE_PRINTK
|
|
bool "Verbose printk"
|
|
help
|
|
Say Y here to enable verbose log messages. These messages
|
|
will help to identify source file and position containing
|
|
printed messages.
|
|
|
|
You don't need this unless you're debugging ALSA.
|
|
|
|
config SND_DEBUG
|
|
bool "Debug"
|
|
help
|
|
Say Y here to enable ALSA debug code.
|
|
|
|
config SND_DEBUG_VERBOSE
|
|
bool "More verbose debug"
|
|
depends on SND_DEBUG
|
|
help
|
|
Say Y here to enable extra-verbose debugging messages.
|
|
|
|
Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
|
|
So, say Y only if you are ready to be annoyed.
|
|
|
|
config SND_PCM_XRUN_DEBUG
|
|
bool "Enable PCM ring buffer overrun/underrun debugging"
|
|
default n
|
|
depends on SND_DEBUG && SND_VERBOSE_PROCFS
|
|
help
|
|
Say Y to enable the PCM ring buffer overrun/underrun debugging.
|
|
It is usually not required, but if you have trouble with
|
|
sound clicking when system is loaded, it may help to determine
|
|
the process or driver which causes the scheduling gaps.
|
|
|
|
config SND_VMASTER
|
|
bool
|
|
|
|
config SND_DMA_SGBUF
|
|
def_bool y
|
|
depends on X86
|
|
|
|
source "sound/core/seq/Kconfig"
|