summaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-06-09 14:06:46 +0200
committerTakashi Iwai <tiwai@suse.de>2017-06-09 22:09:45 +0200
commit3d774d5ef066971aee1839150bf47d100d8e43d3 (patch)
treebd345c2cb848ad3b47ea1f5734d86974f10f64f7 /sound/core
parentALSA: Make CONFIG_SND_OSSEMUL user-selectable (diff)
downloadlinux-3d774d5ef066971aee1839150bf47d100d8e43d3.tar.xz
linux-3d774d5ef066971aee1839150bf47d100d8e43d3.zip
ALSA: seq: Allow the tristate build of OSS emulation
Currently OSS sequencer emulation is tied with ALSA sequencer core, both are built in the same level; i.e. when CONFIG_SND_SEQUENCER=y, the OSS sequencer emulation is also always built-in, even though the functionality can be built as an individual module. This patch changes the rule and allows users to build snd-seq-oss module while others are built-in. Essentially, it's just a few simple changes in Kconfig and Makefile. Some driver codes like opl3 need to convert from the simple ifdef to IS_ENABLED(). But that's all. You might wonder how about the dependency: right, it can be messy, but it still works. Since we rewrote the sequencer binding with the standard bus, the driver can be bound at any time on demand. So, the synthesizer driver module can be loaded individually from the OSS emulation core before/after it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/Kconfig2
-rw-r--r--sound/core/seq/Makefile7
-rw-r--r--sound/core/seq/oss/Makefile2
3 files changed, 5 insertions, 6 deletions
diff --git a/sound/core/Kconfig b/sound/core/Kconfig
index 3a9afc520d4e..d64dbee36986 100644
--- a/sound/core/Kconfig
+++ b/sound/core/Kconfig
@@ -110,7 +110,7 @@ config SND_PCM_TIMER
footprint, about 20KB on x86_64 platform.
config SND_SEQUENCER_OSS
- bool "OSS Sequencer API"
+ tristate "OSS Sequencer API"
depends on SND_SEQUENCER
depends on SND_OSSEMUL
help
diff --git a/sound/core/seq/Makefile b/sound/core/seq/Makefile
index b65fa5a1943b..3283b055e5ff 100644
--- a/sound/core/seq/Makefile
+++ b/sound/core/seq/Makefile
@@ -15,10 +15,9 @@ snd-seq-dummy-objs := seq_dummy.o
snd-seq-virmidi-objs := seq_virmidi.o
obj-$(CONFIG_SND_SEQUENCER) += snd-seq.o snd-seq-device.o
-ifeq ($(CONFIG_SND_SEQUENCER_OSS),y)
- obj-$(CONFIG_SND_SEQUENCER) += snd-seq-midi-event.o
- obj-$(CONFIG_SND_SEQUENCER) += oss/
-endif
+obj-$(CONFIG_SND_SEQUENCER_OSS) += snd-seq-midi-event.o
+obj-$(CONFIG_SND_SEQUENCER_OSS) += oss/
+
obj-$(CONFIG_SND_SEQ_DUMMY) += snd-seq-dummy.o
# Toplevel Module Dependency
diff --git a/sound/core/seq/oss/Makefile b/sound/core/seq/oss/Makefile
index b38406b8463c..4ea4e3eea6b7 100644
--- a/sound/core/seq/oss/Makefile
+++ b/sound/core/seq/oss/Makefile
@@ -7,4 +7,4 @@ snd-seq-oss-objs := seq_oss.o seq_oss_init.o seq_oss_timer.o seq_oss_ioctl.o \
seq_oss_event.o seq_oss_rw.o seq_oss_synth.o \
seq_oss_midi.o seq_oss_readq.o seq_oss_writeq.o
-obj-$(CONFIG_SND_SEQUENCER) += snd-seq-oss.o
+obj-$(CONFIG_SND_SEQUENCER_OSS) += snd-seq-oss.o