#include <sound/core.h>
#include <sound/sb.h>
+/*
+
+ */
-irqreturn_t snd_sb8dsp_midi_interrupt(struct snd_sb *chip)
+irqreturn_t snd_sb8dsp_midi_interrupt(struct snd_sb * chip)
{
struct snd_rawmidi *rmidi;
int max = 64;
char byte;
- if (!chip)
- return IRQ_NONE;
-
- rmidi = chip->rmidi;
- if (!rmidi) {
+ if (chip == NULL || (rmidi = chip->rmidi) == NULL) {
inb(SBP(chip, DATA_AVAIL)); /* ack interrupt */
return IRQ_NONE;
}
-
spin_lock(&chip->midi_input_lock);
while (max-- > 0) {
if (inb(SBP(chip, DATA_AVAIL)) & 0x80) {
return IRQ_HANDLED;
}
+/*
+
+ */
+
static int snd_sb8dsp_midi_input_open(struct snd_rawmidi_substream *substream)
{
unsigned long flags;
snd_sb8dsp_midi_output_write(substream);
}
+/*
+
+ */
+
static struct snd_rawmidi_ops snd_sb8dsp_midi_output =
{
.open = snd_sb8dsp_midi_output_open,