Merge branch 'topic/seq-kconfig' into for-next
This commit is contained in:
commit
7f8a01b77b
|
@ -25,9 +25,7 @@
|
||||||
#include <sound/seq_device.h>
|
#include <sound/seq_device.h>
|
||||||
#include <sound/soundfont.h>
|
#include <sound/soundfont.h>
|
||||||
#include <sound/seq_midi_emul.h>
|
#include <sound/seq_midi_emul.h>
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
|
||||||
#include <sound/seq_oss.h>
|
#include <sound/seq_oss.h>
|
||||||
#endif
|
|
||||||
#include <sound/emux_legacy.h>
|
#include <sound/emux_legacy.h>
|
||||||
#include <sound/seq_virmidi.h>
|
#include <sound/seq_virmidi.h>
|
||||||
|
|
||||||
|
@ -66,7 +64,7 @@ struct snd_emux_operators {
|
||||||
const void __user *data, long count);
|
const void __user *data, long count);
|
||||||
void (*sysex)(struct snd_emux *emu, char *buf, int len, int parsed,
|
void (*sysex)(struct snd_emux *emu, char *buf, int len, int parsed,
|
||||||
struct snd_midi_channel_set *chset);
|
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);
|
int (*oss_ioctl)(struct snd_emux *emu, int cmd, int p1, int p2);
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@ -129,7 +127,7 @@ struct snd_emux {
|
||||||
struct snd_info_entry *proc;
|
struct snd_info_entry *proc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
struct snd_seq_device *oss_synth;
|
struct snd_seq_device *oss_synth;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@ -150,7 +148,7 @@ struct snd_emux_port {
|
||||||
#ifdef SNDRV_EMUX_USE_RAW_EFFECT
|
#ifdef SNDRV_EMUX_USE_RAW_EFFECT
|
||||||
struct snd_emux_effect_table *effect;
|
struct snd_emux_effect_table *effect;
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
struct snd_seq_oss_arg *oss_arg;
|
struct snd_seq_oss_arg *oss_arg;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
|
@ -55,10 +55,8 @@
|
||||||
#include <sound/hwdep.h>
|
#include <sound/hwdep.h>
|
||||||
#include <sound/timer.h>
|
#include <sound/timer.h>
|
||||||
#include <sound/seq_midi_emul.h>
|
#include <sound/seq_midi_emul.h>
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
|
||||||
#include <sound/seq_oss.h>
|
#include <sound/seq_oss.h>
|
||||||
#include <sound/seq_oss_legacy.h>
|
#include <sound/seq_oss_legacy.h>
|
||||||
#endif
|
|
||||||
#include <sound/seq_device.h>
|
#include <sound/seq_device.h>
|
||||||
#include <sound/asound_fm.h>
|
#include <sound/asound_fm.h>
|
||||||
|
|
||||||
|
@ -330,7 +328,7 @@ struct snd_opl3 {
|
||||||
struct snd_seq_device *seq_dev; /* sequencer device */
|
struct snd_seq_device *seq_dev; /* sequencer device */
|
||||||
struct snd_midi_channel_set * chset;
|
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_seq_device *oss_seq_dev; /* OSS sequencer device */
|
||||||
struct snd_midi_channel_set * oss_chset;
|
struct snd_midi_channel_set * oss_chset;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -110,6 +110,8 @@ source "sound/soc/Kconfig"
|
||||||
|
|
||||||
source "sound/x86/Kconfig"
|
source "sound/x86/Kconfig"
|
||||||
|
|
||||||
|
source "sound/synth/Kconfig"
|
||||||
|
|
||||||
endif # SND
|
endif # SND
|
||||||
|
|
||||||
menuconfig SOUND_PRIME
|
menuconfig SOUND_PRIME
|
||||||
|
|
|
@ -18,8 +18,12 @@ config SND_DMAENGINE_PCM
|
||||||
config SND_HWDEP
|
config SND_HWDEP
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
|
config SND_SEQ_DEVICE
|
||||||
|
tristate
|
||||||
|
|
||||||
config SND_RAWMIDI
|
config SND_RAWMIDI
|
||||||
tristate
|
tristate
|
||||||
|
select SND_SEQ_DEVICE if SND_SEQUENCER != n
|
||||||
|
|
||||||
config SND_COMPRESS_OFFLOAD
|
config SND_COMPRESS_OFFLOAD
|
||||||
tristate
|
tristate
|
||||||
|
@ -33,38 +37,15 @@ config SND_JACK_INPUT_DEV
|
||||||
depends on SND_JACK
|
depends on SND_JACK
|
||||||
default y if INPUT=y || INPUT=SND
|
default y if INPUT=y || INPUT=SND
|
||||||
|
|
||||||
config SND_SEQUENCER
|
|
||||||
tristate "Sequencer support"
|
|
||||||
select SND_TIMER
|
|
||||||
help
|
|
||||||
Say Y or M to enable MIDI sequencer and router support. This
|
|
||||||
feature allows routing and enqueueing of MIDI events. Events
|
|
||||||
can be processed at a given time.
|
|
||||||
|
|
||||||
Many programs require this feature, so you should enable it
|
|
||||||
unless you know what you're doing.
|
|
||||||
|
|
||||||
config SND_SEQ_DUMMY
|
|
||||||
tristate "Sequencer dummy client"
|
|
||||||
depends on SND_SEQUENCER
|
|
||||||
help
|
|
||||||
Say Y here to enable the dummy sequencer client. This client
|
|
||||||
is a simple MIDI-through client: all normal input events are
|
|
||||||
redirected to the output port immediately.
|
|
||||||
|
|
||||||
You don't need this unless you want to connect many MIDI
|
|
||||||
devices or applications together.
|
|
||||||
|
|
||||||
To compile this driver as a module, choose M here: the module
|
|
||||||
will be called snd-seq-dummy.
|
|
||||||
|
|
||||||
config SND_OSSEMUL
|
config SND_OSSEMUL
|
||||||
|
bool "Enable OSS Emulation"
|
||||||
select SOUND_OSS_CORE
|
select SOUND_OSS_CORE
|
||||||
bool
|
help
|
||||||
|
This option enables the build of OSS emulation layer.
|
||||||
|
|
||||||
config SND_MIXER_OSS
|
config SND_MIXER_OSS
|
||||||
tristate "OSS Mixer API"
|
tristate "OSS Mixer API"
|
||||||
select SND_OSSEMUL
|
depends on SND_OSSEMUL
|
||||||
help
|
help
|
||||||
To enable OSS mixer API emulation (/dev/mixer*), say Y here
|
To enable OSS mixer API emulation (/dev/mixer*), say Y here
|
||||||
and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
|
and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
|
||||||
|
@ -76,7 +57,7 @@ config SND_MIXER_OSS
|
||||||
|
|
||||||
config SND_PCM_OSS
|
config SND_PCM_OSS
|
||||||
tristate "OSS PCM (digital audio) API"
|
tristate "OSS PCM (digital audio) API"
|
||||||
select SND_OSSEMUL
|
depends on SND_OSSEMUL
|
||||||
select SND_PCM
|
select SND_PCM
|
||||||
help
|
help
|
||||||
To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
|
To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
|
||||||
|
@ -107,20 +88,6 @@ config SND_PCM_TIMER
|
||||||
For some embedded devices, we may disable it to reduce memory
|
For some embedded devices, we may disable it to reduce memory
|
||||||
footprint, about 20KB on x86_64 platform.
|
footprint, about 20KB on x86_64 platform.
|
||||||
|
|
||||||
config SND_SEQUENCER_OSS
|
|
||||||
bool "OSS Sequencer API"
|
|
||||||
depends on SND_SEQUENCER
|
|
||||||
select SND_OSSEMUL
|
|
||||||
help
|
|
||||||
Say Y here to enable OSS sequencer emulation (both
|
|
||||||
/dev/sequencer and /dev/music interfaces).
|
|
||||||
|
|
||||||
Many programs still use the OSS API, so say Y.
|
|
||||||
|
|
||||||
If you choose M in "Sequencer support" (SND_SEQUENCER),
|
|
||||||
this will be compiled as a module. The module will be called
|
|
||||||
snd-seq-oss.
|
|
||||||
|
|
||||||
config SND_HRTIMER
|
config SND_HRTIMER
|
||||||
tristate "HR-timer backend support"
|
tristate "HR-timer backend support"
|
||||||
depends on HIGH_RES_TIMERS
|
depends on HIGH_RES_TIMERS
|
||||||
|
@ -133,14 +100,6 @@ config SND_HRTIMER
|
||||||
To compile this driver as a module, choose M here: the module
|
To compile this driver as a module, choose M here: the module
|
||||||
will be called snd-hrtimer.
|
will be called snd-hrtimer.
|
||||||
|
|
||||||
config SND_SEQ_HRTIMER_DEFAULT
|
|
||||||
bool "Use HR-timer as default sequencer timer"
|
|
||||||
depends on SND_HRTIMER && SND_SEQUENCER
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Say Y here to use the HR-timer backend as the default sequencer
|
|
||||||
timer.
|
|
||||||
|
|
||||||
config SND_DYNAMIC_MINORS
|
config SND_DYNAMIC_MINORS
|
||||||
bool "Dynamic device file minor numbers"
|
bool "Dynamic device file minor numbers"
|
||||||
help
|
help
|
||||||
|
|
|
@ -31,6 +31,7 @@ snd-timer-objs := timer.o
|
||||||
snd-hrtimer-objs := hrtimer.o
|
snd-hrtimer-objs := hrtimer.o
|
||||||
snd-rtctimer-objs := rtctimer.o
|
snd-rtctimer-objs := rtctimer.o
|
||||||
snd-hwdep-objs := hwdep.o
|
snd-hwdep-objs := hwdep.o
|
||||||
|
snd-seq-device-objs := seq_device.o
|
||||||
|
|
||||||
snd-compress-objs := compress_offload.o
|
snd-compress-objs := compress_offload.o
|
||||||
|
|
||||||
|
@ -40,6 +41,7 @@ obj-$(CONFIG_SND_TIMER) += snd-timer.o
|
||||||
obj-$(CONFIG_SND_HRTIMER) += snd-hrtimer.o
|
obj-$(CONFIG_SND_HRTIMER) += snd-hrtimer.o
|
||||||
obj-$(CONFIG_SND_PCM) += snd-pcm.o
|
obj-$(CONFIG_SND_PCM) += snd-pcm.o
|
||||||
obj-$(CONFIG_SND_DMAENGINE_PCM) += snd-pcm-dmaengine.o
|
obj-$(CONFIG_SND_DMAENGINE_PCM) += snd-pcm-dmaengine.o
|
||||||
|
obj-$(CONFIG_SND_SEQ_DEVICE) += snd-seq-device.o
|
||||||
obj-$(CONFIG_SND_RAWMIDI) += snd-rawmidi.o
|
obj-$(CONFIG_SND_RAWMIDI) += snd-rawmidi.o
|
||||||
|
|
||||||
obj-$(CONFIG_SND_OSSEMUL) += oss/
|
obj-$(CONFIG_SND_OSSEMUL) += oss/
|
||||||
|
|
|
@ -1610,7 +1610,7 @@ static int snd_rawmidi_dev_free(struct snd_device *device)
|
||||||
return snd_rawmidi_free(rmidi);
|
return snd_rawmidi_free(rmidi);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
static void snd_rawmidi_dev_seq_free(struct snd_seq_device *device)
|
static void snd_rawmidi_dev_seq_free(struct snd_seq_device *device)
|
||||||
{
|
{
|
||||||
struct snd_rawmidi *rmidi = device->private_data;
|
struct snd_rawmidi *rmidi = device->private_data;
|
||||||
|
@ -1691,7 +1691,7 @@ static int snd_rawmidi_dev_register(struct snd_device *device)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rmidi->proc_entry = entry;
|
rmidi->proc_entry = entry;
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
if (!rmidi->ops || !rmidi->ops->dev_register) { /* own registration mechanism */
|
if (!rmidi->ops || !rmidi->ops->dev_register) { /* own registration mechanism */
|
||||||
if (snd_seq_device_new(rmidi->card, rmidi->device, SNDRV_SEQ_DEV_ID_MIDISYNTH, 0, &rmidi->seq_dev) >= 0) {
|
if (snd_seq_device_new(rmidi->card, rmidi->device, SNDRV_SEQ_DEV_ID_MIDISYNTH, 0, &rmidi->seq_dev) >= 0) {
|
||||||
rmidi->seq_dev->private_data = rmidi;
|
rmidi->seq_dev->private_data = rmidi;
|
||||||
|
|
|
@ -1,16 +1,62 @@
|
||||||
# define SND_XXX_SEQ to min(SND_SEQUENCER,SND_XXX)
|
config SND_SEQUENCER
|
||||||
|
tristate "Sequencer support"
|
||||||
|
select SND_TIMER
|
||||||
|
select SND_SEQ_DEVICE
|
||||||
|
help
|
||||||
|
Say Y or M to enable MIDI sequencer and router support. This
|
||||||
|
feature allows routing and enqueueing of MIDI events. Events
|
||||||
|
can be processed at a given time.
|
||||||
|
|
||||||
config SND_RAWMIDI_SEQ
|
Many programs require this feature, so you should enable it
|
||||||
def_tristate SND_SEQUENCER && SND_RAWMIDI
|
unless you know what you're doing.
|
||||||
|
|
||||||
config SND_OPL3_LIB_SEQ
|
if SND_SEQUENCER
|
||||||
def_tristate SND_SEQUENCER && SND_OPL3_LIB
|
|
||||||
|
|
||||||
config SND_OPL4_LIB_SEQ
|
config SND_SEQ_DUMMY
|
||||||
def_tristate SND_SEQUENCER && SND_OPL4_LIB
|
tristate "Sequencer dummy client"
|
||||||
|
help
|
||||||
|
Say Y here to enable the dummy sequencer client. This client
|
||||||
|
is a simple MIDI-through client: all normal input events are
|
||||||
|
redirected to the output port immediately.
|
||||||
|
|
||||||
config SND_SBAWE_SEQ
|
You don't need this unless you want to connect many MIDI
|
||||||
def_tristate SND_SEQUENCER && SND_SBAWE
|
devices or applications together.
|
||||||
|
|
||||||
config SND_EMU10K1_SEQ
|
To compile this driver as a module, choose M here: the module
|
||||||
def_tristate SND_SEQUENCER && SND_EMU10K1
|
will be called snd-seq-dummy.
|
||||||
|
|
||||||
|
config SND_SEQUENCER_OSS
|
||||||
|
tristate "OSS Sequencer API"
|
||||||
|
depends on SND_OSSEMUL
|
||||||
|
select SND_SEQ_MIDI_EVENT
|
||||||
|
help
|
||||||
|
Say Y here to enable OSS sequencer emulation (both
|
||||||
|
/dev/sequencer and /dev/music interfaces).
|
||||||
|
|
||||||
|
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-seq-oss.
|
||||||
|
|
||||||
|
config SND_SEQ_HRTIMER_DEFAULT
|
||||||
|
bool "Use HR-timer as default sequencer timer"
|
||||||
|
depends on SND_HRTIMER
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Say Y here to use the HR-timer backend as the default sequencer
|
||||||
|
timer.
|
||||||
|
|
||||||
|
config SND_SEQ_MIDI_EVENT
|
||||||
|
def_tristate SND_RAWMIDI
|
||||||
|
|
||||||
|
config SND_SEQ_MIDI
|
||||||
|
tristate
|
||||||
|
select SND_SEQ_MIDI_EVENT
|
||||||
|
|
||||||
|
config SND_SEQ_MIDI_EMUL
|
||||||
|
tristate
|
||||||
|
|
||||||
|
config SND_SEQ_VIRMIDI
|
||||||
|
tristate
|
||||||
|
|
||||||
|
endif # SND_SEQUENCER
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
# Copyright (c) 1999 by Jaroslav Kysela <perex@perex.cz>
|
# Copyright (c) 1999 by Jaroslav Kysela <perex@perex.cz>
|
||||||
#
|
#
|
||||||
|
|
||||||
snd-seq-device-objs := seq_device.o
|
|
||||||
snd-seq-objs := seq.o seq_lock.o seq_clientmgr.o seq_memory.o seq_queue.o \
|
snd-seq-objs := seq.o seq_lock.o seq_clientmgr.o seq_memory.o seq_queue.o \
|
||||||
seq_fifo.o seq_prioq.o seq_timer.o \
|
seq_fifo.o seq_prioq.o seq_timer.o \
|
||||||
seq_system.o seq_ports.o
|
seq_system.o seq_ports.o
|
||||||
|
@ -14,17 +13,11 @@ snd-seq-midi-event-objs := seq_midi_event.o
|
||||||
snd-seq-dummy-objs := seq_dummy.o
|
snd-seq-dummy-objs := seq_dummy.o
|
||||||
snd-seq-virmidi-objs := seq_virmidi.o
|
snd-seq-virmidi-objs := seq_virmidi.o
|
||||||
|
|
||||||
obj-$(CONFIG_SND_SEQUENCER) += snd-seq.o snd-seq-device.o
|
obj-$(CONFIG_SND_SEQUENCER) += snd-seq.o
|
||||||
ifeq ($(CONFIG_SND_SEQUENCER_OSS),y)
|
obj-$(CONFIG_SND_SEQUENCER_OSS) += oss/
|
||||||
obj-$(CONFIG_SND_SEQUENCER) += snd-seq-midi-event.o
|
|
||||||
obj-$(CONFIG_SND_SEQUENCER) += oss/
|
|
||||||
endif
|
|
||||||
obj-$(CONFIG_SND_SEQ_DUMMY) += snd-seq-dummy.o
|
|
||||||
|
|
||||||
# Toplevel Module Dependency
|
obj-$(CONFIG_SND_SEQ_DUMMY) += snd-seq-dummy.o
|
||||||
obj-$(CONFIG_SND_VIRMIDI) += snd-seq-virmidi.o snd-seq-midi-event.o
|
obj-$(CONFIG_SND_SEQ_MIDI) += snd-seq-midi.o
|
||||||
obj-$(CONFIG_SND_RAWMIDI_SEQ) += snd-seq-midi.o snd-seq-midi-event.o
|
obj-$(CONFIG_SND_SEQ_MIDI_EMUL) += snd-seq-midi-emul.o
|
||||||
obj-$(CONFIG_SND_OPL3_LIB_SEQ) += snd-seq-midi-event.o snd-seq-midi-emul.o
|
obj-$(CONFIG_SND_SEQ_MIDI_EVENT) += snd-seq-midi-event.o
|
||||||
obj-$(CONFIG_SND_OPL4_LIB_SEQ) += snd-seq-midi-event.o snd-seq-midi-emul.o
|
obj-$(CONFIG_SND_SEQ_VIRMIDI) += snd-seq-virmidi.o
|
||||||
obj-$(CONFIG_SND_SBAWE_SEQ) += snd-seq-midi-emul.o snd-seq-virmidi.o
|
|
||||||
obj-$(CONFIG_SND_EMU10K1_SEQ) += snd-seq-midi-emul.o snd-seq-virmidi.o
|
|
||||||
|
|
|
@ -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_event.o seq_oss_rw.o seq_oss_synth.o \
|
||||||
seq_oss_midi.o seq_oss_readq.o seq_oss_writeq.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
|
||||||
|
|
|
@ -6,11 +6,24 @@ config SND_OPL3_LIB
|
||||||
tristate
|
tristate
|
||||||
select SND_TIMER
|
select SND_TIMER
|
||||||
select SND_HWDEP
|
select SND_HWDEP
|
||||||
|
select SND_SEQ_DEVICE if SND_SEQUENCER != n
|
||||||
|
|
||||||
config SND_OPL4_LIB
|
config SND_OPL4_LIB
|
||||||
tristate
|
tristate
|
||||||
select SND_TIMER
|
select SND_TIMER
|
||||||
select SND_HWDEP
|
select SND_HWDEP
|
||||||
|
select SND_SEQ_DEVICE if SND_SEQUENCER != n
|
||||||
|
|
||||||
|
# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
|
||||||
|
config SND_OPL3_LIB_SEQ
|
||||||
|
def_tristate SND_SEQUENCER && SND_OPL3_LIB
|
||||||
|
select SND_SEQ_MIDI_EMUL
|
||||||
|
select SND_SEQ_MIDI_EVENT
|
||||||
|
|
||||||
|
config SND_OPL4_LIB_SEQ
|
||||||
|
def_tristate SND_SEQUENCER && SND_OPL4_LIB
|
||||||
|
select SND_SEQ_MIDI_EMUL
|
||||||
|
select SND_SEQ_MIDI_EVENT
|
||||||
|
|
||||||
config SND_VX_LIB
|
config SND_VX_LIB
|
||||||
tristate
|
tristate
|
||||||
|
@ -99,6 +112,8 @@ config SND_VIRMIDI
|
||||||
depends on SND_SEQUENCER
|
depends on SND_SEQUENCER
|
||||||
select SND_TIMER
|
select SND_TIMER
|
||||||
select SND_RAWMIDI
|
select SND_RAWMIDI
|
||||||
|
select SND_SEQ_VIRMIDI
|
||||||
|
select SND_SEQ_MIDI_EVENT
|
||||||
help
|
help
|
||||||
Say Y here to include the virtual MIDI driver. This driver
|
Say Y here to include the virtual MIDI driver. This driver
|
||||||
allows to connect applications using raw MIDI devices to
|
allows to connect applications using raw MIDI devices to
|
||||||
|
|
|
@ -528,7 +528,7 @@ int snd_opl3_hwdep_new(struct snd_opl3 * opl3,
|
||||||
|
|
||||||
opl3->hwdep = hw;
|
opl3->hwdep = hw;
|
||||||
opl3->seq_dev_num = seq_device;
|
opl3->seq_dev_num = seq_device;
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
if (snd_seq_device_new(card, seq_device, SNDRV_SEQ_DEV_ID_OPL3,
|
if (snd_seq_device_new(card, seq_device, SNDRV_SEQ_DEV_ID_OPL3,
|
||||||
sizeof(struct snd_opl3 *), &opl3->seq_dev) >= 0) {
|
sizeof(struct snd_opl3 *), &opl3->seq_dev) >= 0) {
|
||||||
strcpy(opl3->seq_dev->name, hw->name);
|
strcpy(opl3->seq_dev->name, hw->name);
|
||||||
|
|
|
@ -252,7 +252,7 @@ static int snd_opl3_seq_probe(struct device *_dev)
|
||||||
spin_lock_init(&opl3->sys_timer_lock);
|
spin_lock_init(&opl3->sys_timer_lock);
|
||||||
opl3->sys_timer_status = 0;
|
opl3->sys_timer_status = 0;
|
||||||
|
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
snd_opl3_init_seq_oss(opl3, name);
|
snd_opl3_init_seq_oss(opl3, name);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -267,7 +267,7 @@ static int snd_opl3_seq_remove(struct device *_dev)
|
||||||
if (opl3 == NULL)
|
if (opl3 == NULL)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
snd_opl3_free_seq_oss(opl3);
|
snd_opl3_free_seq_oss(opl3);
|
||||||
#endif
|
#endif
|
||||||
if (opl3->seq_client >= 0) {
|
if (opl3->seq_client >= 0) {
|
||||||
|
|
|
@ -44,9 +44,12 @@ void snd_opl3_load_drums(struct snd_opl3 *opl3);
|
||||||
void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int on_off, int vel, struct snd_midi_channel *chan);
|
void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int on_off, int vel, struct snd_midi_channel *chan);
|
||||||
|
|
||||||
/* Prototypes for opl3_oss.c */
|
/* Prototypes for opl3_oss.c */
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
void snd_opl3_init_seq_oss(struct snd_opl3 *opl3, char *name);
|
void snd_opl3_init_seq_oss(struct snd_opl3 *opl3, char *name);
|
||||||
void snd_opl3_free_seq_oss(struct snd_opl3 *opl3);
|
void snd_opl3_free_seq_oss(struct snd_opl3 *opl3);
|
||||||
|
#else
|
||||||
|
#define snd_opl3_init_seq_oss(opl3, name) /* NOP */
|
||||||
|
#define snd_opl3_free_seq_oss(opl3) /* NOP */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -153,7 +153,7 @@ static int snd_opl4_detect(struct snd_opl4 *opl4)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
static void snd_opl4_seq_dev_free(struct snd_seq_device *seq_dev)
|
static void snd_opl4_seq_dev_free(struct snd_seq_device *seq_dev)
|
||||||
{
|
{
|
||||||
struct snd_opl4 *opl4 = seq_dev->private_data;
|
struct snd_opl4 *opl4 = seq_dev->private_data;
|
||||||
|
@ -249,7 +249,7 @@ int snd_opl4_create(struct snd_card *card,
|
||||||
snd_opl4_create_mixer(opl4);
|
snd_opl4_create_mixer(opl4);
|
||||||
snd_opl4_create_proc(opl4);
|
snd_opl4_create_proc(opl4);
|
||||||
|
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
opl4->seq_client = -1;
|
opl4->seq_client = -1;
|
||||||
if (opl4->hardware < OPL3_HW_OPL4_ML)
|
if (opl4->hardware < OPL3_HW_OPL4_ML)
|
||||||
snd_opl4_create_seq_dev(opl4, seq_device);
|
snd_opl4_create_seq_dev(opl4, seq_device);
|
||||||
|
|
|
@ -184,7 +184,7 @@ struct snd_opl4 {
|
||||||
#endif
|
#endif
|
||||||
struct mutex access_mutex;
|
struct mutex access_mutex;
|
||||||
|
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
int used;
|
int used;
|
||||||
|
|
||||||
int seq_dev_num;
|
int seq_dev_num;
|
||||||
|
|
|
@ -377,6 +377,7 @@ config SND_SBAWE
|
||||||
select SND_OPL3_LIB
|
select SND_OPL3_LIB
|
||||||
select SND_MPU401_UART
|
select SND_MPU401_UART
|
||||||
select SND_SB16_DSP
|
select SND_SB16_DSP
|
||||||
|
select SND_SEQ_DEVICE if SND_SEQUENCER != n
|
||||||
help
|
help
|
||||||
Say Y here to include support for Sound Blaster AWE soundcards
|
Say Y here to include support for Sound Blaster AWE soundcards
|
||||||
(including the Plug and Play version).
|
(including the Plug and Play version).
|
||||||
|
@ -384,6 +385,13 @@ config SND_SBAWE
|
||||||
To compile this driver as a module, choose M here: the module
|
To compile this driver as a module, choose M here: the module
|
||||||
will be called snd-sbawe.
|
will be called snd-sbawe.
|
||||||
|
|
||||||
|
# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
|
||||||
|
config SND_SBAWE_SEQ
|
||||||
|
def_tristate SND_SEQUENCER && SND_SBAWE
|
||||||
|
select SND_SEQ_MIDI_EMUL
|
||||||
|
select SND_SEQ_VIRMIDI
|
||||||
|
select SND_SYNTH_EMUX
|
||||||
|
|
||||||
config SND_SB16_CSP
|
config SND_SB16_CSP
|
||||||
bool "Sound Blaster 16/AWE CSP support"
|
bool "Sound Blaster 16/AWE CSP support"
|
||||||
depends on (SND_SB16 || SND_SBAWE) && (BROKEN || !PPC)
|
depends on (SND_SB16 || SND_SBAWE) && (BROKEN || !PPC)
|
||||||
|
|
|
@ -1138,7 +1138,7 @@ snd_emu8000_new(struct snd_card *card, int index, long port, int seq_ports,
|
||||||
snd_emu8000_free(hw);
|
snd_emu8000_free(hw);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
if (snd_seq_device_new(card, index, SNDRV_SEQ_DEV_ID_EMU8000,
|
if (snd_seq_device_new(card, index, SNDRV_SEQ_DEV_ID_EMU8000,
|
||||||
sizeof(struct snd_emu8000*), &awe) >= 0) {
|
sizeof(struct snd_emu8000*), &awe) >= 0) {
|
||||||
strcpy(awe->name, "EMU-8000");
|
strcpy(awe->name, "EMU-8000");
|
||||||
|
|
|
@ -36,7 +36,7 @@ static void reset_voice(struct snd_emux *emu, int ch);
|
||||||
static void terminate_voice(struct snd_emux_voice *vp);
|
static void terminate_voice(struct snd_emux_voice *vp);
|
||||||
static void sysex(struct snd_emux *emu, char *buf, int len, int parsed,
|
static void sysex(struct snd_emux *emu, char *buf, int len, int parsed,
|
||||||
struct snd_midi_channel_set *chset);
|
struct snd_midi_channel_set *chset);
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
static int oss_ioctl(struct snd_emux *emu, int cmd, int p1, int p2);
|
static int oss_ioctl(struct snd_emux *emu, int cmd, int p1, int p2);
|
||||||
#endif
|
#endif
|
||||||
static int load_fx(struct snd_emux *emu, int type, int mode,
|
static int load_fx(struct snd_emux *emu, int type, int mode,
|
||||||
|
@ -76,7 +76,7 @@ static struct snd_emux_operators emu8000_ops = {
|
||||||
.sample_reset = snd_emu8000_sample_reset,
|
.sample_reset = snd_emu8000_sample_reset,
|
||||||
.load_fx = load_fx,
|
.load_fx = load_fx,
|
||||||
.sysex = sysex,
|
.sysex = sysex,
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
.oss_ioctl = oss_ioctl,
|
.oss_ioctl = oss_ioctl,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@ -477,7 +477,7 @@ sysex(struct snd_emux *emu, char *buf, int len, int parsed, struct snd_midi_chan
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
/*
|
/*
|
||||||
* OSS ioctl callback
|
* OSS ioctl callback
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -62,7 +62,7 @@ MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB AWE 32},"
|
||||||
#define SNDRV_DEBUG_IRQ
|
#define SNDRV_DEBUG_IRQ
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SNDRV_SBAWE) && IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if defined(SNDRV_SBAWE) && IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
#define SNDRV_SBAWE_EMU8000
|
#define SNDRV_SBAWE_EMU8000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -465,6 +465,7 @@ config SND_EMU10K1
|
||||||
select SND_RAWMIDI
|
select SND_RAWMIDI
|
||||||
select SND_AC97_CODEC
|
select SND_AC97_CODEC
|
||||||
select SND_TIMER
|
select SND_TIMER
|
||||||
|
select SND_SEQ_DEVICE if SND_SEQUENCER != n
|
||||||
depends on ZONE_DMA
|
depends on ZONE_DMA
|
||||||
help
|
help
|
||||||
Say Y to include support for Sound Blaster PCI 512, Live!,
|
Say Y to include support for Sound Blaster PCI 512, Live!,
|
||||||
|
@ -477,6 +478,13 @@ config SND_EMU10K1
|
||||||
To compile this driver as a module, choose M here: the module
|
To compile this driver as a module, choose M here: the module
|
||||||
will be called snd-emu10k1.
|
will be called snd-emu10k1.
|
||||||
|
|
||||||
|
# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
|
||||||
|
config SND_EMU10K1_SEQ
|
||||||
|
def_tristate SND_SEQUENCER && SND_EMU10K1
|
||||||
|
select SND_SEQ_MIDI_EMUL
|
||||||
|
select SND_SEQ_VIRMIDI
|
||||||
|
select SND_SYNTH_EMUX
|
||||||
|
|
||||||
config SND_EMU10K1X
|
config SND_EMU10K1X
|
||||||
tristate "Emu10k1X (Dell OEM Version)"
|
tristate "Emu10k1X (Dell OEM Version)"
|
||||||
select SND_AC97_CODEC
|
select SND_AC97_CODEC
|
||||||
|
|
|
@ -37,7 +37,7 @@ MODULE_LICENSE("GPL");
|
||||||
MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB Live!/PCI512/E-mu APS},"
|
MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB Live!/PCI512/E-mu APS},"
|
||||||
"{Creative Labs,SB Audigy}}");
|
"{Creative Labs,SB Audigy}}");
|
||||||
|
|
||||||
#if IS_REACHABLE(CONFIG_SND_SEQUENCER)
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
|
||||||
#define ENABLE_SYNTH
|
#define ENABLE_SYNTH
|
||||||
#include <sound/emu10k1_synth.h>
|
#include <sound/emu10k1_synth.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
config SND_SYNTH_EMUX
|
||||||
|
tristate
|
|
@ -8,6 +8,4 @@ snd-emux-synth-objs := emux.o emux_synth.o emux_seq.o emux_nrpn.o \
|
||||||
snd-emux-synth-$(CONFIG_SND_PROC_FS) += emux_proc.o
|
snd-emux-synth-$(CONFIG_SND_PROC_FS) += emux_proc.o
|
||||||
snd-emux-synth-$(CONFIG_SND_SEQUENCER_OSS) += emux_oss.o
|
snd-emux-synth-$(CONFIG_SND_SEQUENCER_OSS) += emux_oss.o
|
||||||
|
|
||||||
# Toplevel Module Dependencies
|
obj-$(CONFIG_SND_SYNTH_EMUX) += snd-emux-synth.o
|
||||||
obj-$(CONFIG_SND_SBAWE_SEQ) += snd-emux-synth.o
|
|
||||||
obj-$(CONFIG_SND_EMU10K1_SEQ) += snd-emux-synth.o
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ int snd_emux_new(struct snd_emux **remu)
|
||||||
mutex_init(&emu->register_mutex);
|
mutex_init(&emu->register_mutex);
|
||||||
|
|
||||||
emu->client = -1;
|
emu->client = -1;
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
emu->oss_synth = NULL;
|
emu->oss_synth = NULL;
|
||||||
#endif
|
#endif
|
||||||
emu->max_voices = 0;
|
emu->max_voices = 0;
|
||||||
|
@ -123,7 +123,7 @@ int snd_emux_register(struct snd_emux *emu, struct snd_card *card, int index, ch
|
||||||
snd_emux_init_voices(emu);
|
snd_emux_init_voices(emu);
|
||||||
|
|
||||||
snd_emux_init_seq(emu, card, index);
|
snd_emux_init_seq(emu, card, index);
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
snd_emux_init_seq_oss(emu);
|
snd_emux_init_seq_oss(emu);
|
||||||
#endif
|
#endif
|
||||||
snd_emux_init_virmidi(emu, card);
|
snd_emux_init_virmidi(emu, card);
|
||||||
|
@ -150,7 +150,7 @@ int snd_emux_free(struct snd_emux *emu)
|
||||||
|
|
||||||
snd_emux_proc_free(emu);
|
snd_emux_proc_free(emu);
|
||||||
snd_emux_delete_virmidi(emu);
|
snd_emux_delete_virmidi(emu);
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
snd_emux_detach_seq_oss(emu);
|
snd_emux_detach_seq_oss(emu);
|
||||||
#endif
|
#endif
|
||||||
snd_emux_detach_seq(emu);
|
snd_emux_detach_seq(emu);
|
||||||
|
|
|
@ -150,7 +150,7 @@ effect_get_offset(struct snd_midi_channel *chan, int lo, int hi, int mode)
|
||||||
return addr;
|
return addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
|
||||||
/* change effects - for OSS sequencer compatibility */
|
/* change effects - for OSS sequencer compatibility */
|
||||||
void
|
void
|
||||||
snd_emux_send_effect_oss(struct snd_emux_port *port,
|
snd_emux_send_effect_oss(struct snd_emux_port *port,
|
||||||
|
|
|
@ -23,8 +23,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_SND_SEQUENCER_OSS
|
|
||||||
|
|
||||||
#include <linux/export.h>
|
#include <linux/export.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <sound/core.h>
|
#include <sound/core.h>
|
||||||
|
@ -505,5 +503,3 @@ fake_event(struct snd_emux *emu, struct snd_emux_port *port, int ch, int param,
|
||||||
ev.data.control.value = val;
|
ev.data.control.value = val;
|
||||||
snd_emux_event_input(&ev, 0, port, atomic, hop);
|
snd_emux_event_input(&ev, 0, port, atomic, hop);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_SND_SEQUENCER_OSS */
|
|
||||||
|
|
Loading…
Reference in New Issue