2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2005-04-17 06:20:36 +08:00
|
|
|
# ALSA soundcard-configuration
|
|
|
|
config SND_TIMER
|
|
|
|
tristate
|
|
|
|
|
|
|
|
config SND_PCM
|
|
|
|
tristate
|
2015-10-16 17:57:46 +08:00
|
|
|
select SND_TIMER if SND_PCM_TIMER
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2015-05-09 18:26:42 +08:00
|
|
|
config SND_PCM_ELD
|
|
|
|
bool
|
|
|
|
|
2015-05-09 18:26:47 +08:00
|
|
|
config SND_PCM_IEC958
|
|
|
|
bool
|
|
|
|
|
2013-08-12 16:42:37 +08:00
|
|
|
config SND_DMAENGINE_PCM
|
2013-08-15 22:03:52 +08:00
|
|
|
tristate
|
2013-08-12 16:42:37 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config SND_HWDEP
|
|
|
|
tristate
|
|
|
|
|
ALSA: seq: Allow the modular sequencer registration
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>
2017-06-09 21:11:58 +08:00
|
|
|
config SND_SEQ_DEVICE
|
|
|
|
tristate
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config SND_RAWMIDI
|
|
|
|
tristate
|
ALSA: seq: Allow the modular sequencer registration
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>
2017-06-09 21:11:58 +08:00
|
|
|
select SND_SEQ_DEVICE if SND_SEQUENCER != n
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2012-01-13 16:53:53 +08:00
|
|
|
config SND_COMPRESS_OFFLOAD
|
|
|
|
tristate
|
|
|
|
|
2008-07-29 02:05:36 +08:00
|
|
|
config SND_JACK
|
|
|
|
bool
|
|
|
|
|
2016-02-17 16:44:25 +08:00
|
|
|
# enable input device support in jack layer
|
|
|
|
config SND_JACK_INPUT_DEV
|
|
|
|
bool
|
|
|
|
depends on SND_JACK
|
|
|
|
default y if INPUT=y || INPUT=SND
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config SND_OSSEMUL
|
2017-06-09 19:56:05 +08:00
|
|
|
bool "Enable OSS Emulation"
|
2008-08-28 22:42:51 +08:00
|
|
|
select SOUND_OSS_CORE
|
2017-06-09 19:56:05 +08:00
|
|
|
help
|
|
|
|
This option enables the build of OSS emulation layer.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
config SND_MIXER_OSS
|
|
|
|
tristate "OSS Mixer API"
|
2017-06-09 19:56:05 +08:00
|
|
|
depends on SND_OSSEMUL
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
To enable OSS mixer API emulation (/dev/mixer*), say Y here
|
2018-05-09 02:14:57 +08:00
|
|
|
and read <file:Documentation/sound/designs/oss-emulation.rst>.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
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"
|
2017-06-09 19:56:05 +08:00
|
|
|
depends on SND_OSSEMUL
|
2005-04-17 06:20:36 +08:00
|
|
|
select SND_PCM
|
|
|
|
help
|
|
|
|
To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
|
2018-05-09 02:14:57 +08:00
|
|
|
here and read <file:Documentation/sound/designs/oss-emulation.rst>.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2006-01-13 16:12:11 +08:00
|
|
|
config SND_PCM_OSS_PLUGINS
|
|
|
|
bool "OSS PCM (digital audio) API - Include plugin system"
|
|
|
|
depends on SND_PCM_OSS
|
2019-10-04 22:49:31 +08:00
|
|
|
default y
|
2006-01-13 16:12:11 +08:00
|
|
|
help
|
2019-10-04 22:49:31 +08:00
|
|
|
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.
|
2006-01-13 16:12:11 +08:00
|
|
|
|
2015-10-16 17:57:46 +08:00
|
|
|
config SND_PCM_TIMER
|
|
|
|
bool "PCM timer interface" if EXPERT
|
|
|
|
default y
|
|
|
|
help
|
2016-01-28 10:04:10 +08:00
|
|
|
If you disable this option, pcm timer will be unavailable, so
|
|
|
|
those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
|
2015-10-16 17:57:46 +08:00
|
|
|
incorrectlly.
|
|
|
|
|
2016-01-28 10:04:10 +08:00
|
|
|
For some embedded devices, we may disable it to reduce memory
|
2015-10-16 17:57:46 +08:00
|
|
|
footprint, about 20KB on x86_64 platform.
|
|
|
|
|
2008-10-25 00:16:50 +08:00
|
|
|
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.
|
|
|
|
|
2005-11-20 21:07:47 +08:00
|
|
|
config SND_DYNAMIC_MINORS
|
2006-06-27 14:41:26 +08:00
|
|
|
bool "Dynamic device file minor numbers"
|
2005-11-20 21:07:47 +08:00
|
|
|
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.
|
|
|
|
|
ALSA: Add kconfig to specify the max card numbers
Currently ALSA supports up to 32 card instances when the dynamic minor
is used. While 32 cards are usually big enough for normal use cases,
there are sometimes weird requirements with more card support.
Actually, this limitation, 32, comes from the index option, where you
can pass the bit mask to assign the card. Other than that, we can
actually give more cards up to the minor number limits (currently 256,
which can be extended more, too).
This patch adds a new Kconfig to specify the max card numbers, and
changes a few places to accept more than 32 cards.
The only incompatibility with high card numbers would be the handling
of index option. The index option can be still used to pass the
bitmask for card assignments, but this works only up to 32 slots.
More than 32, no bitmask style option is available but only a single
slot can be specified via index option.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-05-15 14:46:39 +08:00
|
|
|
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.
|
|
|
|
|
2005-12-01 17:51:58 +08:00
|
|
|
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).
|
|
|
|
|
2015-05-27 19:45:44 +08:00
|
|
|
config SND_PROC_FS
|
2019-10-04 22:49:31 +08:00
|
|
|
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.
|
2015-05-27 19:45:44 +08:00
|
|
|
|
2006-01-13 16:12:11 +08:00
|
|
|
config SND_VERBOSE_PROCFS
|
|
|
|
bool "Verbose procfs contents"
|
2015-05-27 19:45:44 +08:00
|
|
|
depends on SND_PROC_FS
|
2006-01-13 16:12:11 +08:00
|
|
|
default y
|
|
|
|
help
|
|
|
|
Say Y here to include code for verbose procfs contents (provides
|
2019-10-04 22:49:31 +08:00
|
|
|
useful information to developers when a problem occurs). On the
|
|
|
|
other side, it makes the ALSA subsystem larger.
|
2006-01-13 16:12:11 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
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.
|
|
|
|
|
2008-05-20 18:15:15 +08:00
|
|
|
config SND_DEBUG_VERBOSE
|
|
|
|
bool "More verbose debug"
|
2005-04-17 06:20:36 +08:00
|
|
|
depends on SND_DEBUG
|
|
|
|
help
|
2008-05-20 18:15:15 +08:00
|
|
|
Say Y here to enable extra-verbose debugging messages.
|
2019-10-04 22:49:31 +08:00
|
|
|
|
2008-05-20 18:15:15 +08:00
|
|
|
Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
|
|
|
|
So, say Y only if you are ready to be annoyed.
|
2006-04-25 03:57:16 +08:00
|
|
|
|
|
|
|
config SND_PCM_XRUN_DEBUG
|
|
|
|
bool "Enable PCM ring buffer overrun/underrun debugging"
|
|
|
|
default n
|
2006-04-25 18:56:04 +08:00
|
|
|
depends on SND_DEBUG && SND_VERBOSE_PROCFS
|
2006-04-25 03:57:16 +08:00
|
|
|
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.
|
2008-02-18 20:03:13 +08:00
|
|
|
|
|
|
|
config SND_VMASTER
|
|
|
|
bool
|
2009-05-26 23:07:52 +08:00
|
|
|
|
2008-06-17 22:39:06 +08:00
|
|
|
config SND_DMA_SGBUF
|
|
|
|
def_bool y
|
|
|
|
depends on X86
|
|
|
|
|
2009-05-26 23:07:52 +08:00
|
|
|
source "sound/core/seq/Kconfig"
|