diff options
author | Takashi Iwai <tiwai@suse.de> | 2017-06-09 14:06:46 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2017-06-09 22:09:45 +0200 |
commit | 3d774d5ef066971aee1839150bf47d100d8e43d3 (patch) | |
tree | bd345c2cb848ad3b47ea1f5734d86974f10f64f7 /include/sound | |
parent | ALSA: Make CONFIG_SND_OSSEMUL user-selectable (diff) | |
download | linux-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 'include/sound')
-rw-r--r-- | include/sound/emux_synth.h | 8 | ||||
-rw-r--r-- | include/sound/opl3.h | 4 |
2 files changed, 4 insertions, 8 deletions
diff --git a/include/sound/emux_synth.h b/include/sound/emux_synth.h index a0a40b74bf13..19a0cb561ffc 100644 --- a/include/sound/emux_synth.h +++ b/include/sound/emux_synth.h @@ -25,9 +25,7 @@ #include <sound/seq_device.h> #include <sound/soundfont.h> #include <sound/seq_midi_emul.h> -#ifdef CONFIG_SND_SEQUENCER_OSS #include <sound/seq_oss.h> -#endif #include <sound/emux_legacy.h> #include <sound/seq_virmidi.h> @@ -66,7 +64,7 @@ struct snd_emux_operators { const void __user *data, long count); void (*sysex)(struct snd_emux *emu, char *buf, int len, int parsed, struct snd_midi_channel_set *chset); -#ifdef CONFIG_SND_SEQUENCER_OSS +#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) int (*oss_ioctl)(struct snd_emux *emu, int cmd, int p1, int p2); #endif }; @@ -129,7 +127,7 @@ struct snd_emux { struct snd_info_entry *proc; #endif -#ifdef CONFIG_SND_SEQUENCER_OSS +#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) struct snd_seq_device *oss_synth; #endif }; @@ -150,7 +148,7 @@ struct snd_emux_port { #ifdef SNDRV_EMUX_USE_RAW_EFFECT struct snd_emux_effect_table *effect; #endif -#ifdef CONFIG_SND_SEQUENCER_OSS +#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) struct snd_seq_oss_arg *oss_arg; #endif }; diff --git a/include/sound/opl3.h b/include/sound/opl3.h index 5a87641c6ae4..a4a593590cff 100644 --- a/include/sound/opl3.h +++ b/include/sound/opl3.h @@ -55,10 +55,8 @@ #include <sound/hwdep.h> #include <sound/timer.h> #include <sound/seq_midi_emul.h> -#ifdef CONFIG_SND_SEQUENCER_OSS #include <sound/seq_oss.h> #include <sound/seq_oss_legacy.h> -#endif #include <sound/seq_device.h> #include <sound/asound_fm.h> @@ -330,7 +328,7 @@ struct snd_opl3 { struct snd_seq_device *seq_dev; /* sequencer device */ struct snd_midi_channel_set * chset; -#ifdef CONFIG_SND_SEQUENCER_OSS +#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) struct snd_seq_device *oss_seq_dev; /* OSS sequencer device */ struct snd_midi_channel_set * oss_chset; #endif |