28 #include <linux/slab.h>
31 #include <linux/errno.h>
32 #include <linux/export.h>
38 #define MSNDMIDI_MODE_BIT_INPUT 0
39 #define MSNDMIDI_MODE_BIT_OUTPUT 1
40 #define MSNDMIDI_MODE_BIT_INPUT_TRIGGER 2
41 #define MSNDMIDI_MODE_BIT_OUTPUT_TRIGGER 3
62 mpu = substream->
rmidi->private_data;
77 mpu = substream->
rmidi->private_data;
85 static void snd_msndmidi_input_drop(
struct snd_msndmidi *mpu)
102 snd_printdd(
"snd_msndmidi_input_trigger(, %i)\n", up);
104 mpu = substream->
rmidi->private_data;
109 snd_msndmidi_input_drop(mpu);
113 spin_unlock_irqrestore(&mpu->
input_lock, flags);
133 (
unsigned char *)&val, 1);
141 spin_unlock_irqrestore(&mpu->
input_lock, flags);
146 .open = snd_msndmidi_input_open,
147 .close = snd_msndmidi_input_close,
148 .trigger = snd_msndmidi_input_trigger,
151 static void snd_msndmidi_free(
struct snd_rawmidi *rmidi)
179 &snd_msndmidi_input);