Commit d466e157 authored by David S. Miller's avatar David S. Miller

[SOUND PCI]: Update several drivers for irqreturn_t.

parent dcd887b6
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <sound/hwdep.h> #include <sound/hwdep.h>
#include <sound/ac97_codec.h> #include <sound/ac97_codec.h>
#include <sound/util_mem.h> #include <sound/util_mem.h>
#include <linux/interrupt.h>
#include <asm/io.h> #include <asm/io.h>
#ifndef PCI_VENDOR_ID_CREATIVE #ifndef PCI_VENDOR_ID_CREATIVE
...@@ -1014,7 +1015,7 @@ int snd_emu10k1_fx8010_pcm(emu10k1_t * emu, int device, snd_pcm_t ** rpcm); ...@@ -1014,7 +1015,7 @@ int snd_emu10k1_fx8010_pcm(emu10k1_t * emu, int device, snd_pcm_t ** rpcm);
int snd_emu10k1_mixer(emu10k1_t * emu); int snd_emu10k1_mixer(emu10k1_t * emu);
int snd_emu10k1_fx8010_new(emu10k1_t *emu, int device, snd_hwdep_t ** rhwdep); int snd_emu10k1_fx8010_new(emu10k1_t *emu, int device, snd_hwdep_t ** rhwdep);
void snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs); irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs);
/* initialization */ /* initialization */
void snd_emu10k1_voice_init(emu10k1_t * emu, int voice); void snd_emu10k1_voice_init(emu10k1_t * emu, int voice);
......
...@@ -1032,15 +1032,16 @@ static void snd_ali_interrupt(ali_t * codec) ...@@ -1032,15 +1032,16 @@ static void snd_ali_interrupt(ali_t * codec)
} }
static void snd_ali_card_interrupt(int irq, static irqreturn_t snd_ali_card_interrupt(int irq,
void *dev_id, void *dev_id,
struct pt_regs *regs) struct pt_regs *regs)
{ {
ali_t *codec = snd_magic_cast(ali_t, dev_id, return); ali_t *codec = snd_magic_cast(ali_t, dev_id, return);
if (codec == NULL) if (codec == NULL)
return; return IRQ_NONE;
snd_ali_interrupt(codec); snd_ali_interrupt(codec);
return IRQ_HANDLED;
} }
......
...@@ -1640,7 +1640,7 @@ static int snd_cmipci_capture_spdif_hw_free(snd_pcm_substream_t *subs) ...@@ -1640,7 +1640,7 @@ static int snd_cmipci_capture_spdif_hw_free(snd_pcm_substream_t *subs)
/* /*
* interrupt handler * interrupt handler
*/ */
static void snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
cmipci_t *cm = snd_magic_cast(cmipci_t, dev_id, return); cmipci_t *cm = snd_magic_cast(cmipci_t, dev_id, return);
unsigned int status, mask = 0; unsigned int status, mask = 0;
...@@ -1648,7 +1648,7 @@ static void snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1648,7 +1648,7 @@ static void snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs)
/* fastpath out, to ease interrupt sharing */ /* fastpath out, to ease interrupt sharing */
status = snd_cmipci_read(cm, CM_REG_INT_STATUS); status = snd_cmipci_read(cm, CM_REG_INT_STATUS);
if (!(status & CM_INTR)) if (!(status & CM_INTR))
return; return IRQ_NONE;
/* acknowledge interrupt */ /* acknowledge interrupt */
spin_lock(&cm->reg_lock); spin_lock(&cm->reg_lock);
...@@ -1669,6 +1669,8 @@ static void snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1669,6 +1669,8 @@ static void snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs)
if ((status & CM_CHINT1) && cm->channel[1].running) if ((status & CM_CHINT1) && cm->channel[1].running)
snd_pcm_period_elapsed(cm->channel[1].substream); snd_pcm_period_elapsed(cm->channel[1].substream);
} }
return IRQ_HANDLED;
} }
/* /*
......
...@@ -511,7 +511,7 @@ struct snd_cs4281 { ...@@ -511,7 +511,7 @@ struct snd_cs4281 {
}; };
static void snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs); static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs);
static struct pci_device_id snd_cs4281_ids[] __devinitdata = { static struct pci_device_id snd_cs4281_ids[] __devinitdata = {
{ 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4281 */ { 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4281 */
...@@ -1883,18 +1883,18 @@ static int __devinit snd_cs4281_midi(cs4281_t * chip, int device, snd_rawmidi_t ...@@ -1883,18 +1883,18 @@ static int __devinit snd_cs4281_midi(cs4281_t * chip, int device, snd_rawmidi_t
* Interrupt handler * Interrupt handler
*/ */
static void snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
cs4281_t *chip = snd_magic_cast(cs4281_t, dev_id, return); cs4281_t *chip = snd_magic_cast(cs4281_t, dev_id, return);
unsigned int status, dma, val; unsigned int status, dma, val;
cs4281_dma_t *cdma; cs4281_dma_t *cdma;
if (chip == NULL) if (chip == NULL)
return; return IRQ_NONE;
status = snd_cs4281_peekBA0(chip, BA0_HISR); status = snd_cs4281_peekBA0(chip, BA0_HISR);
if ((status & 0x7fffffff) == 0) { if ((status & 0x7fffffff) == 0) {
snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_EOI); snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_EOI);
return; return IRQ_NONE;
} }
if (status & (BA0_HISR_DMA(0)|BA0_HISR_DMA(1)|BA0_HISR_DMA(2)|BA0_HISR_DMA(3))) { if (status & (BA0_HISR_DMA(0)|BA0_HISR_DMA(1)|BA0_HISR_DMA(2)|BA0_HISR_DMA(3))) {
...@@ -1949,6 +1949,8 @@ static void snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1949,6 +1949,8 @@ static void snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs)
/* EOI to the PCI part... reenables interrupts */ /* EOI to the PCI part... reenables interrupts */
snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_EOI); snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_EOI);
return IRQ_HANDLED;
} }
......
...@@ -1217,7 +1217,7 @@ static int snd_cs46xx_capture_prepare(snd_pcm_substream_t * substream) ...@@ -1217,7 +1217,7 @@ static int snd_cs46xx_capture_prepare(snd_pcm_substream_t * substream)
return 0; return 0;
} }
static void snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
cs46xx_t *chip = snd_magic_cast(cs46xx_t, dev_id, return); cs46xx_t *chip = snd_magic_cast(cs46xx_t, dev_id, return);
u32 status1; u32 status1;
...@@ -1234,7 +1234,7 @@ static void snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1234,7 +1234,7 @@ static void snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
status1 = snd_cs46xx_peekBA0(chip, BA0_HISR); status1 = snd_cs46xx_peekBA0(chip, BA0_HISR);
if ((status1 & 0x7fffffff) == 0) { if ((status1 & 0x7fffffff) == 0) {
snd_cs46xx_pokeBA0(chip, BA0_HICR, HICR_CHGM | HICR_IEV); snd_cs46xx_pokeBA0(chip, BA0_HICR, HICR_CHGM | HICR_IEV);
return; return IRQ_NONE;
} }
#ifdef CONFIG_SND_CS46XX_NEW_DSP #ifdef CONFIG_SND_CS46XX_NEW_DSP
...@@ -1305,6 +1305,8 @@ static void snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1305,6 +1305,8 @@ static void snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
* EOI to the PCI part....reenables interrupts * EOI to the PCI part....reenables interrupts
*/ */
snd_cs46xx_pokeBA0(chip, BA0_HICR, HICR_CHGM | HICR_IEV); snd_cs46xx_pokeBA0(chip, BA0_HICR, HICR_CHGM | HICR_IEV);
return IRQ_HANDLED;
} }
static snd_pcm_hardware_t snd_cs46xx_playback = static snd_pcm_hardware_t snd_cs46xx_playback =
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include <sound/core.h> #include <sound/core.h>
#include <sound/emu10k1.h> #include <sound/emu10k1.h>
void snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs) irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
emu10k1_t *emu = snd_magic_cast(emu10k1_t, dev_id, return); emu10k1_t *emu = snd_magic_cast(emu10k1_t, dev_id, return);
unsigned int status; unsigned int status;
...@@ -145,4 +145,6 @@ void snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -145,4 +145,6 @@ void snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs)
outl(IPR_FXDSP, emu->port + IPR); outl(IPR_FXDSP, emu->port + IPR);
} }
} }
return IRQ_HANDLED;
} }
...@@ -249,7 +249,7 @@ struct _snd_es1938 { ...@@ -249,7 +249,7 @@ struct _snd_es1938 {
#endif #endif
}; };
static void snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs); static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs);
static struct pci_device_id snd_es1938_ids[] __devinitdata = { static struct pci_device_id snd_es1938_ids[] __devinitdata = {
{ 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Solo-1 */ { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Solo-1 */
...@@ -1490,7 +1490,7 @@ static int __devinit snd_es1938_create(snd_card_t * card, ...@@ -1490,7 +1490,7 @@ static int __devinit snd_es1938_create(snd_card_t * card,
/* -------------------------------------------------------------------- /* --------------------------------------------------------------------
* Interrupt handler * Interrupt handler
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
static void snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
es1938_t *chip = snd_magic_cast(es1938_t, dev_id, return); es1938_t *chip = snd_magic_cast(es1938_t, dev_id, return);
unsigned char status, audiostatus; unsigned char status, audiostatus;
...@@ -1549,6 +1549,8 @@ static void snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1549,6 +1549,8 @@ static void snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs)
if (chip->rmidi) if (chip->rmidi)
snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs);
} }
return IRQ_HANDLED;
} }
#define ES1938_DMA_SIZE 64 #define ES1938_DMA_SIZE 64
......
...@@ -600,7 +600,7 @@ struct snd_es1968 { ...@@ -600,7 +600,7 @@ struct snd_es1968 {
#endif #endif
}; };
static void snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs); static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs);
static struct pci_device_id snd_es1968_ids[] __devinitdata = { static struct pci_device_id snd_es1968_ids[] __devinitdata = {
/* Maestro 1 */ /* Maestro 1 */
...@@ -2009,13 +2009,13 @@ static void es1968_update_hw_volume(unsigned long private_data) ...@@ -2009,13 +2009,13 @@ static void es1968_update_hw_volume(unsigned long private_data)
/* /*
* interrupt handler * interrupt handler
*/ */
static void snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
es1968_t *chip = snd_magic_cast(es1968_t, dev_id, return); es1968_t *chip = snd_magic_cast(es1968_t, dev_id, return);
u32 event; u32 event;
if (!(event = inb(chip->io_port + 0x1A))) if (!(event = inb(chip->io_port + 0x1A)))
return; return IRQ_NONE;
outw(inw(chip->io_port + 4) & 1, chip->io_port + 4); outw(inw(chip->io_port + 4) & 1, chip->io_port + 4);
...@@ -2041,6 +2041,8 @@ static void snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -2041,6 +2041,8 @@ static void snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs)
} }
spin_unlock(&chip->substream_lock); spin_unlock(&chip->substream_lock);
} }
return IRQ_HANDLED;
} }
/* /*
......
...@@ -481,7 +481,7 @@ static snd_pcm_uframes_t snd_fm801_capture_pointer(snd_pcm_substream_t * substre ...@@ -481,7 +481,7 @@ static snd_pcm_uframes_t snd_fm801_capture_pointer(snd_pcm_substream_t * substre
return bytes_to_frames(substream->runtime, ptr); return bytes_to_frames(substream->runtime, ptr);
} }
static void snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
fm801_t *chip = snd_magic_cast(fm801_t, dev_id, return); fm801_t *chip = snd_magic_cast(fm801_t, dev_id, return);
unsigned short status; unsigned short status;
...@@ -490,7 +490,7 @@ static void snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -490,7 +490,7 @@ static void snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs)
status = inw(FM801_REG(chip, IRQ_STATUS)); status = inw(FM801_REG(chip, IRQ_STATUS));
status &= FM801_IRQ_PLAYBACK|FM801_IRQ_CAPTURE|FM801_IRQ_MPU|FM801_IRQ_VOLUME; status &= FM801_IRQ_PLAYBACK|FM801_IRQ_CAPTURE|FM801_IRQ_MPU|FM801_IRQ_VOLUME;
if (! status) if (! status)
return; return IRQ_NONE;
/* ack first */ /* ack first */
outw(status, FM801_REG(chip, IRQ_STATUS)); outw(status, FM801_REG(chip, IRQ_STATUS));
if (chip->pcm && (status & FM801_IRQ_PLAYBACK) && chip->playback_substream) { if (chip->pcm && (status & FM801_IRQ_PLAYBACK) && chip->playback_substream) {
...@@ -525,6 +525,8 @@ static void snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -525,6 +525,8 @@ static void snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs)
snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs);
if (status & FM801_IRQ_VOLUME) if (status & FM801_IRQ_VOLUME)
;/* TODO */ ;/* TODO */
return IRQ_HANDLED;
} }
static snd_pcm_hardware_t snd_fm801_playback = static snd_pcm_hardware_t snd_fm801_playback =
......
...@@ -398,7 +398,7 @@ int __devinit snd_ice1712_init_cs8427(ice1712_t *ice, int addr) ...@@ -398,7 +398,7 @@ int __devinit snd_ice1712_init_cs8427(ice1712_t *ice, int addr)
* Interrupt handler * Interrupt handler
*/ */
static void snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
ice1712_t *ice = snd_magic_cast(ice1712_t, dev_id, return); ice1712_t *ice = snd_magic_cast(ice1712_t, dev_id, return);
unsigned char status; unsigned char status;
...@@ -462,6 +462,8 @@ static void snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -462,6 +462,8 @@ static void snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *regs)
outb(ICE1712_IRQ_CONPBK, ICEREG(ice, IRQSTAT)); outb(ICE1712_IRQ_CONPBK, ICEREG(ice, IRQSTAT));
} }
} }
return IRQ_HANDLED;
} }
......
...@@ -1133,18 +1133,18 @@ static void snd_korg1212_OnDSPDownloadComplete(korg1212_t *korg1212) ...@@ -1133,18 +1133,18 @@ static void snd_korg1212_OnDSPDownloadComplete(korg1212_t *korg1212)
snd_korg1212_setCardState(korg1212, K1212_STATE_DSP_COMPLETE); snd_korg1212_setCardState(korg1212, K1212_STATE_DSP_COMPLETE);
} }
static void snd_korg1212_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_korg1212_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
u32 doorbellValue; u32 doorbellValue;
korg1212_t *korg1212 = snd_magic_cast(korg1212_t, dev_id, return); korg1212_t *korg1212 = snd_magic_cast(korg1212_t, dev_id, return);
if(irq != korg1212->irq) if(irq != korg1212->irq)
return; return IRQ_NONE;
doorbellValue = readl(korg1212->inDoorbellPtr); doorbellValue = readl(korg1212->inDoorbellPtr);
if (!doorbellValue) if (!doorbellValue)
return; return IRQ_NONE;
spin_lock(&korg1212->lock); spin_lock(&korg1212->lock);
...@@ -1218,6 +1218,8 @@ static void snd_korg1212_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1218,6 +1218,8 @@ static void snd_korg1212_interrupt(int irq, void *dev_id, struct pt_regs *regs)
korg1212->inIRQ--; korg1212->inIRQ--;
spin_unlock(&korg1212->lock); spin_unlock(&korg1212->lock);
return IRQ_HANDLED;
} }
static int snd_korg1212_downloadDSPCode(korg1212_t *korg1212) static int snd_korg1212_downloadDSPCode(korg1212_t *korg1212)
......
...@@ -1549,7 +1549,7 @@ static void snd_m3_update_ptr(m3_t *chip, m3_dma_t *s) ...@@ -1549,7 +1549,7 @@ static void snd_m3_update_ptr(m3_t *chip, m3_dma_t *s)
} }
} }
static void static irqreturn_t
snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs) snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
m3_t *chip = snd_magic_cast(m3_t, dev_id, ); m3_t *chip = snd_magic_cast(m3_t, dev_id, );
...@@ -1559,13 +1559,13 @@ snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1559,13 +1559,13 @@ snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
status = inb(chip->iobase + 0x1A); status = inb(chip->iobase + 0x1A);
if (status == 0xff) if (status == 0xff)
return; return IRQ_NONE;
/* presumably acking the ints? */ /* presumably acking the ints? */
outw(status, chip->iobase + 0x1A); outw(status, chip->iobase + 0x1A);
/*if (in_suspend) /*if (in_suspend)
return;*/ return IRQ_NONE;*/
/* /*
* ack an assp int if its running * ack an assp int if its running
...@@ -1592,6 +1592,8 @@ snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -1592,6 +1592,8 @@ snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
/* XXX is this needed? */ /* XXX is this needed? */
if (status & 0x40) if (status & 0x40)
outb(0x40, chip->iobase+0x1A); outb(0x40, chip->iobase+0x1A);
return IRQ_HANDLED;
} }
......
...@@ -596,18 +596,18 @@ static int snd_sonicvibes_trigger(sonicvibes_t * sonic, int what, int cmd) ...@@ -596,18 +596,18 @@ static int snd_sonicvibes_trigger(sonicvibes_t * sonic, int what, int cmd)
return result; return result;
} }
static void snd_sonicvibes_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_sonicvibes_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, dev_id, return); sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, dev_id, return);
unsigned char status; unsigned char status;
status = inb(SV_REG(sonic, STATUS)); status = inb(SV_REG(sonic, STATUS));
if (!(status & (SV_DMAA_IRQ | SV_DMAC_IRQ | SV_MIDI_IRQ))) if (!(status & (SV_DMAA_IRQ | SV_DMAC_IRQ | SV_MIDI_IRQ)))
return; return IRQ_NONE;
if (status == 0xff) { /* failure */ if (status == 0xff) { /* failure */
outb(sonic->irqmask = ~0, SV_REG(sonic, IRQMASK)); outb(sonic->irqmask = ~0, SV_REG(sonic, IRQMASK));
snd_printk("IRQ failure - interrupts disabled!!\n"); snd_printk("IRQ failure - interrupts disabled!!\n");
return; return IRQ_HANDLED;
} }
if (sonic->pcm) { if (sonic->pcm) {
if (status & SV_DMAA_IRQ) if (status & SV_DMAA_IRQ)
...@@ -654,6 +654,8 @@ static void snd_sonicvibes_interrupt(int irq, void *dev_id, struct pt_regs *regs ...@@ -654,6 +654,8 @@ static void snd_sonicvibes_interrupt(int irq, void *dev_id, struct pt_regs *regs
snd_ctl_notify(sonic->card, SNDRV_CTL_EVENT_MASK_VALUE, &sonic->master_mute->id); snd_ctl_notify(sonic->card, SNDRV_CTL_EVENT_MASK_VALUE, &sonic->master_mute->id);
snd_ctl_notify(sonic->card, SNDRV_CTL_EVENT_MASK_VALUE, &sonic->master_volume->id); snd_ctl_notify(sonic->card, SNDRV_CTL_EVENT_MASK_VALUE, &sonic->master_volume->id);
} }
return IRQ_HANDLED;
} }
/* /*
......
...@@ -741,7 +741,7 @@ static void snd_ymfpci_irq_wait(ymfpci_t *chip) ...@@ -741,7 +741,7 @@ static void snd_ymfpci_irq_wait(ymfpci_t *chip)
} }
} }
static void snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
ymfpci_t *chip = snd_magic_cast(ymfpci_t, dev_id, return); ymfpci_t *chip = snd_magic_cast(ymfpci_t, dev_id, return);
u32 status, nvoice, mode; u32 status, nvoice, mode;
...@@ -787,6 +787,8 @@ static void snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -787,6 +787,8 @@ static void snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *regs)
if (chip->rawmidi) if (chip->rawmidi)
snd_mpu401_uart_interrupt(irq, chip->rawmidi->private_data, regs); snd_mpu401_uart_interrupt(irq, chip->rawmidi->private_data, regs);
return IRQ_HANDLED;
} }
static snd_pcm_hardware_t snd_ymfpci_playback = static snd_pcm_hardware_t snd_ymfpci_playback =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment