提交 437a5a46 编写于 作者: T Takashi Iwai 提交者: Jaroslav Kysela

[ALSA] Remove IRQF_DISABLED for shared PCI irqs

Fix IRQ flags for PCI devices.
The shared IRQs for PCI devices shouldn't be allocated with
IRQF_DISABLED.  Also, when MSI is enabled, IRQF_SHARED shouldn't
be used.
The patch removes unnecessary cast in request_irq and free_irq,
too.
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
Signed-off-by: NJaroslav Kysela <perex@suse.cz>
上级 01f681da
无相关合并请求
...@@ -927,7 +927,7 @@ ...@@ -927,7 +927,7 @@
<informalexample> <informalexample>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
struct mychip *chip = (struct mychip *)card->private_data; struct mychip *chip = card->private_data;
]]> ]]>
</programlisting> </programlisting>
</informalexample> </informalexample>
...@@ -1095,7 +1095,7 @@ ...@@ -1095,7 +1095,7 @@
/* release the irq */ /* release the irq */
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
/* release the i/o ports & memory */ /* release the i/o ports & memory */
pci_release_regions(chip->pci); pci_release_regions(chip->pci);
/* disable the PCI entry */ /* disable the PCI entry */
...@@ -1148,7 +1148,7 @@ ...@@ -1148,7 +1148,7 @@
} }
chip->port = pci_resource_start(pci, 0); chip->port = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_mychip_interrupt, if (request_irq(pci->irq, snd_mychip_interrupt,
IRQF_DISABLED|IRQF_SHARED, "My Chip", chip)) { IRQF_SHARED, "My Chip", chip)) {
printk(KERN_ERR "cannot grab irq %d\n", pci->irq); printk(KERN_ERR "cannot grab irq %d\n", pci->irq);
snd_mychip_free(chip); snd_mychip_free(chip);
return -EBUSY; return -EBUSY;
...@@ -1387,7 +1387,7 @@ ...@@ -1387,7 +1387,7 @@
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
]]> ]]>
</programlisting> </programlisting>
</informalexample> </informalexample>
......
...@@ -232,7 +232,7 @@ int snd_sbdsp_create(struct snd_card *card, ...@@ -232,7 +232,7 @@ int snd_sbdsp_create(struct snd_card *card,
chip->port = port; chip->port = port;
if (request_irq(irq, irq_handler, hardware == SB_HW_ALS4000 ? if (request_irq(irq, irq_handler, hardware == SB_HW_ALS4000 ?
IRQF_DISABLED | IRQF_SHARED : IRQF_DISABLED, IRQF_SHARED : IRQF_DISABLED,
"SoundBlaster", (void *) chip)) { "SoundBlaster", (void *) chip)) {
snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq); snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
snd_sbdsp_free(chip); snd_sbdsp_free(chip);
......
...@@ -858,7 +858,7 @@ snd_ad1889_free(struct snd_ad1889 *chip) ...@@ -858,7 +858,7 @@ snd_ad1889_free(struct snd_ad1889 *chip)
synchronize_irq(chip->irq); synchronize_irq(chip->irq);
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void*)chip); free_irq(chip->irq, chip);
skip_hw: skip_hw:
if (chip->iobase) if (chip->iobase)
...@@ -945,7 +945,7 @@ snd_ad1889_create(struct snd_card *card, ...@@ -945,7 +945,7 @@ snd_ad1889_create(struct snd_card *card,
spin_lock_init(&chip->lock); /* only now can we call ad1889_free */ spin_lock_init(&chip->lock); /* only now can we call ad1889_free */
if (request_irq(pci->irq, snd_ad1889_interrupt, if (request_irq(pci->irq, snd_ad1889_interrupt,
IRQF_DISABLED|IRQF_SHARED, card->driver, (void*)chip)) { IRQF_SHARED, card->driver, chip)) {
printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq); printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq);
snd_ad1889_free(chip); snd_ad1889_free(chip);
return -EBUSY; return -EBUSY;
......
...@@ -2095,7 +2095,7 @@ static int snd_ali_free(struct snd_ali * codec) ...@@ -2095,7 +2095,7 @@ static int snd_ali_free(struct snd_ali * codec)
snd_ali_disable_address_interrupt(codec); snd_ali_disable_address_interrupt(codec);
if (codec->irq >= 0) { if (codec->irq >= 0) {
synchronize_irq(codec->irq); synchronize_irq(codec->irq);
free_irq(codec->irq, (void *)codec); free_irq(codec->irq, codec);
} }
if (codec->port) if (codec->port)
pci_release_regions(codec->pci); pci_release_regions(codec->pci);
...@@ -2192,7 +2192,8 @@ static int __devinit snd_ali_resources(struct snd_ali *codec) ...@@ -2192,7 +2192,8 @@ static int __devinit snd_ali_resources(struct snd_ali *codec)
return err; return err;
codec->port = pci_resource_start(codec->pci, 0); codec->port = pci_resource_start(codec->pci, 0);
if (request_irq(codec->pci->irq, snd_ali_card_interrupt, IRQF_DISABLED|IRQF_SHARED, "ALI 5451", (void *)codec)) { if (request_irq(codec->pci->irq, snd_ali_card_interrupt,
IRQF_SHARED, "ALI 5451", codec)) {
snd_printk(KERN_ERR "Unable to request irq.\n"); snd_printk(KERN_ERR "Unable to request irq.\n");
return -EBUSY; return -EBUSY;
} }
......
...@@ -190,7 +190,7 @@ static int snd_als300_free(struct snd_als300 *chip) ...@@ -190,7 +190,7 @@ static int snd_als300_free(struct snd_als300 *chip)
snd_als300_dbgcallenter(); snd_als300_dbgcallenter();
snd_als300_set_irq_flag(chip, IRQ_DISABLE); snd_als300_set_irq_flag(chip, IRQ_DISABLE);
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
pci_release_regions(chip->pci); pci_release_regions(chip->pci);
pci_disable_device(chip->pci); pci_disable_device(chip->pci);
kfree(chip); kfree(chip);
...@@ -722,8 +722,8 @@ static int __devinit snd_als300_create(snd_card_t *card, ...@@ -722,8 +722,8 @@ static int __devinit snd_als300_create(snd_card_t *card,
else else
irq_handler = snd_als300_interrupt; irq_handler = snd_als300_interrupt;
if (request_irq(pci->irq, irq_handler, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, irq_handler, IRQF_SHARED,
card->shortname, (void *)chip)) { card->shortname, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_als300_free(chip); snd_als300_free(chip);
return -EBUSY; return -EBUSY;
......
...@@ -1583,7 +1583,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card, ...@@ -1583,7 +1583,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
return -EIO; return -EIO;
} }
if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_SHARED,
card->shortname, chip)) { card->shortname, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_atiixp_free(chip); snd_atiixp_free(chip);
......
...@@ -1256,7 +1256,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card, ...@@ -1256,7 +1256,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
return -EIO; return -EIO;
} }
if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_SHARED,
card->shortname, chip)) { card->shortname, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_atiixp_free(chip); snd_atiixp_free(chip);
......
...@@ -198,7 +198,7 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip) ...@@ -198,7 +198,7 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
} }
if ((err = request_irq(pci->irq, vortex_interrupt, if ((err = request_irq(pci->irq, vortex_interrupt,
IRQF_DISABLED | IRQF_SHARED, CARD_NAME_SHORT, IRQF_SHARED, CARD_NAME_SHORT,
chip)) != 0) { chip)) != 0) {
printk(KERN_ERR "cannot grab irq\n"); printk(KERN_ERR "cannot grab irq\n");
goto irq_out; goto irq_out;
......
...@@ -1513,7 +1513,7 @@ snd_azf3328_free(struct snd_azf3328 *chip) ...@@ -1513,7 +1513,7 @@ snd_azf3328_free(struct snd_azf3328 *chip)
__end_hw: __end_hw:
snd_azf3328_free_joystick(chip); snd_azf3328_free_joystick(chip);
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
pci_release_regions(chip->pci); pci_release_regions(chip->pci);
pci_disable_device(chip->pci); pci_disable_device(chip->pci);
...@@ -1724,7 +1724,8 @@ snd_azf3328_create(struct snd_card *card, ...@@ -1724,7 +1724,8 @@ snd_azf3328_create(struct snd_card *card,
chip->synth_port = pci_resource_start(pci, 3); chip->synth_port = pci_resource_start(pci, 3);
chip->mixer_port = pci_resource_start(pci, 4); chip->mixer_port = pci_resource_start(pci, 4);
if (request_irq(pci->irq, snd_azf3328_interrupt, IRQF_DISABLED|IRQF_SHARED, card->shortname, (void *)chip)) { if (request_irq(pci->irq, snd_azf3328_interrupt,
IRQF_SHARED, card->shortname, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
err = -EBUSY; err = -EBUSY;
goto out_err; goto out_err;
......
...@@ -747,7 +747,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card, ...@@ -747,7 +747,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card,
snd_bt87x_writel(chip, REG_INT_MASK, 0); snd_bt87x_writel(chip, REG_INT_MASK, 0);
snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS); snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS);
if (request_irq(pci->irq, snd_bt87x_interrupt, IRQF_DISABLED | IRQF_SHARED, if (request_irq(pci->irq, snd_bt87x_interrupt, IRQF_SHARED,
"Bt87x audio", chip)) { "Bt87x audio", chip)) {
snd_bt87x_free(chip); snd_bt87x_free(chip);
snd_printk(KERN_ERR "cannot grab irq\n"); snd_printk(KERN_ERR "cannot grab irq\n");
......
...@@ -1046,7 +1046,7 @@ static int snd_ca0106_free(struct snd_ca0106 *chip) ...@@ -1046,7 +1046,7 @@ static int snd_ca0106_free(struct snd_ca0106 *chip)
// release the irq // release the irq
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
pci_disable_device(chip->pci); pci_disable_device(chip->pci);
kfree(chip); kfree(chip);
return 0; return 0;
...@@ -1267,8 +1267,7 @@ static int __devinit snd_ca0106_create(struct snd_card *card, ...@@ -1267,8 +1267,7 @@ static int __devinit snd_ca0106_create(struct snd_card *card,
} }
if (request_irq(pci->irq, snd_ca0106_interrupt, if (request_irq(pci->irq, snd_ca0106_interrupt,
IRQF_DISABLED|IRQF_SHARED, "snd_ca0106", IRQF_SHARED, "snd_ca0106", chip)) {
(void *)chip)) {
snd_ca0106_free(chip); snd_ca0106_free(chip);
printk(KERN_ERR "cannot grab irq\n"); printk(KERN_ERR "cannot grab irq\n");
return -EBUSY; return -EBUSY;
......
...@@ -2862,7 +2862,7 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc ...@@ -2862,7 +2862,7 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc
cm->iobase = pci_resource_start(pci, 0); cm->iobase = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_cmipci_interrupt, if (request_irq(pci->irq, snd_cmipci_interrupt,
IRQF_DISABLED|IRQF_SHARED, card->driver, cm)) { IRQF_SHARED, card->driver, cm)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_cmipci_free(cm); snd_cmipci_free(cm);
return -EBUSY; return -EBUSY;
......
...@@ -1391,7 +1391,7 @@ static int __devinit snd_cs4281_create(struct snd_card *card, ...@@ -1391,7 +1391,7 @@ static int __devinit snd_cs4281_create(struct snd_card *card,
return -ENOMEM; return -ENOMEM;
} }
if (request_irq(pci->irq, snd_cs4281_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_cs4281_interrupt, IRQF_SHARED,
"CS4281", chip)) { "CS4281", chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_cs4281_free(chip); snd_cs4281_free(chip);
......
...@@ -3867,7 +3867,7 @@ int __devinit snd_cs46xx_create(struct snd_card *card, ...@@ -3867,7 +3867,7 @@ int __devinit snd_cs46xx_create(struct snd_card *card,
} }
} }
if (request_irq(pci->irq, snd_cs46xx_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_cs46xx_interrupt, IRQF_SHARED,
"CS46XX", chip)) { "CS46XX", chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_cs46xx_free(chip); snd_cs46xx_free(chip);
......
...@@ -320,7 +320,7 @@ static int __devinit snd_cs5535audio_create(struct snd_card *card, ...@@ -320,7 +320,7 @@ static int __devinit snd_cs5535audio_create(struct snd_card *card,
cs5535au->port = pci_resource_start(pci, 0); cs5535au->port = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_cs5535audio_interrupt, if (request_irq(pci->irq, snd_cs5535audio_interrupt,
IRQF_DISABLED|IRQF_SHARED, "CS5535 Audio", cs5535au)) { IRQF_SHARED, "CS5535 Audio", cs5535au)) {
snd_printk("unable to grab IRQ %d\n", pci->irq); snd_printk("unable to grab IRQ %d\n", pci->irq);
err = -EBUSY; err = -EBUSY;
goto sndfail; goto sndfail;
......
...@@ -1872,7 +1872,7 @@ static int snd_echo_free(struct echoaudio *chip) ...@@ -1872,7 +1872,7 @@ static int snd_echo_free(struct echoaudio *chip)
DE_INIT(("Stopped.\n")); DE_INIT(("Stopped.\n"));
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
if (chip->dsp_registers) if (chip->dsp_registers)
iounmap(chip->dsp_registers); iounmap(chip->dsp_registers);
...@@ -1950,8 +1950,8 @@ static __devinit int snd_echo_create(struct snd_card *card, ...@@ -1950,8 +1950,8 @@ static __devinit int snd_echo_create(struct snd_card *card,
chip->dsp_registers = (volatile u32 __iomem *) chip->dsp_registers = (volatile u32 __iomem *)
ioremap_nocache(chip->dsp_registers_phys, sz); ioremap_nocache(chip->dsp_registers_phys, sz);
if (request_irq(pci->irq, snd_echo_interrupt, IRQF_DISABLED | IRQF_SHARED, if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
ECHOCARD_NAME, (void *)chip)) { ECHOCARD_NAME, chip)) {
snd_echo_free(chip); snd_echo_free(chip);
snd_printk(KERN_ERR "cannot grab irq\n"); snd_printk(KERN_ERR "cannot grab irq\n");
return -EBUSY; return -EBUSY;
......
...@@ -759,7 +759,7 @@ static int snd_emu10k1_free(struct snd_emu10k1 *emu) ...@@ -759,7 +759,7 @@ static int snd_emu10k1_free(struct snd_emu10k1 *emu)
free_pm_buffer(emu); free_pm_buffer(emu);
#endif #endif
if (emu->irq >= 0) if (emu->irq >= 0)
free_irq(emu->irq, (void *)emu); free_irq(emu->irq, emu);
if (emu->port) if (emu->port)
pci_release_regions(emu->pci); pci_release_regions(emu->pci);
if (emu->card_capabilities->ca0151_chip) /* P16V */ if (emu->card_capabilities->ca0151_chip) /* P16V */
...@@ -1246,7 +1246,8 @@ int __devinit snd_emu10k1_create(struct snd_card *card, ...@@ -1246,7 +1246,8 @@ int __devinit snd_emu10k1_create(struct snd_card *card,
} }
emu->port = pci_resource_start(pci, 0); emu->port = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_emu10k1_interrupt, IRQF_DISABLED|IRQF_SHARED, "EMU10K1", (void *)emu)) { if (request_irq(pci->irq, snd_emu10k1_interrupt, IRQF_SHARED,
"EMU10K1", emu)) {
err = -EBUSY; err = -EBUSY;
goto error; goto error;
} }
......
...@@ -760,7 +760,7 @@ static int snd_emu10k1x_free(struct emu10k1x *chip) ...@@ -760,7 +760,7 @@ static int snd_emu10k1x_free(struct emu10k1x *chip)
// release the irq // release the irq
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
// release the DMA // release the DMA
if (chip->dma_buffer.area) { if (chip->dma_buffer.area) {
...@@ -927,8 +927,7 @@ static int __devinit snd_emu10k1x_create(struct snd_card *card, ...@@ -927,8 +927,7 @@ static int __devinit snd_emu10k1x_create(struct snd_card *card,
} }
if (request_irq(pci->irq, snd_emu10k1x_interrupt, if (request_irq(pci->irq, snd_emu10k1x_interrupt,
IRQF_DISABLED|IRQF_SHARED, "EMU10K1X", IRQF_SHARED, "EMU10K1X", chip)) {
(void *)chip)) {
snd_printk(KERN_ERR "emu10k1x: cannot grab irq %d\n", pci->irq); snd_printk(KERN_ERR "emu10k1x: cannot grab irq %d\n", pci->irq);
snd_emu10k1x_free(chip); snd_emu10k1x_free(chip);
return -EBUSY; return -EBUSY;
......
...@@ -2141,7 +2141,7 @@ static int __devinit snd_ensoniq_create(struct snd_card *card, ...@@ -2141,7 +2141,7 @@ static int __devinit snd_ensoniq_create(struct snd_card *card,
return err; return err;
} }
ensoniq->port = pci_resource_start(pci, 0); ensoniq->port = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_audiopci_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_audiopci_interrupt, IRQF_SHARED,
"Ensoniq AudioPCI", ensoniq)) { "Ensoniq AudioPCI", ensoniq)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_ensoniq_free(ensoniq); snd_ensoniq_free(ensoniq);
......
...@@ -1508,7 +1508,7 @@ static int es1938_resume(struct pci_dev *pci) ...@@ -1508,7 +1508,7 @@ static int es1938_resume(struct pci_dev *pci)
} }
if (request_irq(pci->irq, snd_es1938_interrupt, if (request_irq(pci->irq, snd_es1938_interrupt,
IRQF_DISABLED|IRQF_SHARED, "ES1938", chip)) { IRQF_SHARED, "ES1938", chip)) {
printk(KERN_ERR "es1938: unable to grab IRQ %d, " printk(KERN_ERR "es1938: unable to grab IRQ %d, "
"disabling device\n", pci->irq); "disabling device\n", pci->irq);
snd_card_disconnect(card); snd_card_disconnect(card);
...@@ -1631,7 +1631,7 @@ static int __devinit snd_es1938_create(struct snd_card *card, ...@@ -1631,7 +1631,7 @@ static int __devinit snd_es1938_create(struct snd_card *card,
chip->vc_port = pci_resource_start(pci, 2); chip->vc_port = pci_resource_start(pci, 2);
chip->mpu_port = pci_resource_start(pci, 3); chip->mpu_port = pci_resource_start(pci, 3);
chip->game_port = pci_resource_start(pci, 4); chip->game_port = pci_resource_start(pci, 4);
if (request_irq(pci->irq, snd_es1938_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_es1938_interrupt, IRQF_SHARED,
"ES1938", chip)) { "ES1938", chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_es1938_free(chip); snd_es1938_free(chip);
......
...@@ -2462,7 +2462,7 @@ static int snd_es1968_free(struct es1968 *chip) ...@@ -2462,7 +2462,7 @@ static int snd_es1968_free(struct es1968 *chip)
} }
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
snd_es1968_free_gameport(chip); snd_es1968_free_gameport(chip);
chip->master_switch = NULL; chip->master_switch = NULL;
chip->master_volume = NULL; chip->master_volume = NULL;
...@@ -2552,8 +2552,8 @@ static int __devinit snd_es1968_create(struct snd_card *card, ...@@ -2552,8 +2552,8 @@ static int __devinit snd_es1968_create(struct snd_card *card,
return err; return err;
} }
chip->io_port = pci_resource_start(pci, 0); chip->io_port = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_SHARED,
"ESS Maestro", (void*)chip)) { "ESS Maestro", chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_es1968_free(chip); snd_es1968_free(chip);
return -EBUSY; return -EBUSY;
......
...@@ -1395,7 +1395,7 @@ static int __devinit snd_fm801_create(struct snd_card *card, ...@@ -1395,7 +1395,7 @@ static int __devinit snd_fm801_create(struct snd_card *card,
} }
chip->port = pci_resource_start(pci, 0); chip->port = pci_resource_start(pci, 0);
if ((tea575x_tuner & 0x0010) == 0) { if ((tea575x_tuner & 0x0010) == 0) {
if (request_irq(pci->irq, snd_fm801_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_fm801_interrupt, IRQF_SHARED,
"FM801", chip)) { "FM801", chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->irq);
snd_fm801_free(chip); snd_fm801_free(chip);
......
...@@ -1380,7 +1380,8 @@ static int __devinit azx_init_stream(struct azx *chip) ...@@ -1380,7 +1380,8 @@ static int __devinit azx_init_stream(struct azx *chip)
static int azx_acquire_irq(struct azx *chip, int do_disconnect) static int azx_acquire_irq(struct azx *chip, int do_disconnect)
{ {
if (request_irq(chip->pci->irq, azx_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(chip->pci->irq, azx_interrupt,
chip->msi ? 0 : IRQF_SHARED,
"HDA Intel", chip)) { "HDA Intel", chip)) {
printk(KERN_ERR "hda-intel: unable to grab IRQ %d, " printk(KERN_ERR "hda-intel: unable to grab IRQ %d, "
"disabling device\n", chip->pci->irq); "disabling device\n", chip->pci->irq);
......
...@@ -2614,7 +2614,7 @@ static int __devinit snd_ice1712_create(struct snd_card *card, ...@@ -2614,7 +2614,7 @@ static int __devinit snd_ice1712_create(struct snd_card *card,
ice->dmapath_port = pci_resource_start(pci, 2); ice->dmapath_port = pci_resource_start(pci, 2);
ice->profi_port = pci_resource_start(pci, 3); ice->profi_port = pci_resource_start(pci, 3);
if (request_irq(pci->irq, snd_ice1712_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_ice1712_interrupt, IRQF_SHARED,
"ICE1712", ice)) { "ICE1712", ice)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_ice1712_free(ice); snd_ice1712_free(ice);
......
...@@ -2253,7 +2253,7 @@ static int __devinit snd_vt1724_create(struct snd_card *card, ...@@ -2253,7 +2253,7 @@ static int __devinit snd_vt1724_create(struct snd_card *card,
ice->profi_port = pci_resource_start(pci, 1); ice->profi_port = pci_resource_start(pci, 1);
if (request_irq(pci->irq, snd_vt1724_interrupt, if (request_irq(pci->irq, snd_vt1724_interrupt,
IRQF_DISABLED|IRQF_SHARED, "ICE1724", ice)) { IRQF_SHARED, "ICE1724", ice)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_vt1724_free(ice); snd_vt1724_free(ice);
return -EIO; return -EIO;
......
...@@ -2509,7 +2509,7 @@ static int intel8x0_resume(struct pci_dev *pci) ...@@ -2509,7 +2509,7 @@ static int intel8x0_resume(struct pci_dev *pci)
} }
pci_set_master(pci); pci_set_master(pci);
if (request_irq(pci->irq, snd_intel8x0_interrupt, if (request_irq(pci->irq, snd_intel8x0_interrupt,
IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { IRQF_SHARED, card->shortname, chip)) {
printk(KERN_ERR "intel8x0: unable to grab IRQ %d, " printk(KERN_ERR "intel8x0: unable to grab IRQ %d, "
"disabling device\n", pci->irq); "disabling device\n", pci->irq);
snd_card_disconnect(card); snd_card_disconnect(card);
...@@ -2887,7 +2887,7 @@ static int __devinit snd_intel8x0_create(struct snd_card *card, ...@@ -2887,7 +2887,7 @@ static int __devinit snd_intel8x0_create(struct snd_card *card,
/* request irq after initializaing int_sta_mask, etc */ /* request irq after initializaing int_sta_mask, etc */
if (request_irq(pci->irq, snd_intel8x0_interrupt, if (request_irq(pci->irq, snd_intel8x0_interrupt,
IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { IRQF_SHARED, card->shortname, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_intel8x0_free(chip); snd_intel8x0_free(chip);
return -EBUSY; return -EBUSY;
......
...@@ -1071,7 +1071,7 @@ static int intel8x0m_resume(struct pci_dev *pci) ...@@ -1071,7 +1071,7 @@ static int intel8x0m_resume(struct pci_dev *pci)
} }
pci_set_master(pci); pci_set_master(pci);
if (request_irq(pci->irq, snd_intel8x0_interrupt, if (request_irq(pci->irq, snd_intel8x0_interrupt,
IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { IRQF_SHARED, card->shortname, chip)) {
printk(KERN_ERR "intel8x0m: unable to grab IRQ %d, " printk(KERN_ERR "intel8x0m: unable to grab IRQ %d, "
"disabling device\n", pci->irq); "disabling device\n", pci->irq);
snd_card_disconnect(card); snd_card_disconnect(card);
...@@ -1205,7 +1205,7 @@ static int __devinit snd_intel8x0m_create(struct snd_card *card, ...@@ -1205,7 +1205,7 @@ static int __devinit snd_intel8x0m_create(struct snd_card *card,
} }
port_inited: port_inited:
if (request_irq(pci->irq, snd_intel8x0_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_intel8x0_interrupt, IRQF_SHARED,
card->shortname, chip)) { card->shortname, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_intel8x0_free(chip); snd_intel8x0_free(chip);
......
...@@ -2233,7 +2233,7 @@ static int __devinit snd_korg1212_create(struct snd_card *card, struct pci_dev * ...@@ -2233,7 +2233,7 @@ static int __devinit snd_korg1212_create(struct snd_card *card, struct pci_dev *
} }
err = request_irq(pci->irq, snd_korg1212_interrupt, err = request_irq(pci->irq, snd_korg1212_interrupt,
IRQF_DISABLED|IRQF_SHARED, IRQF_SHARED,
"korg1212", korg1212); "korg1212", korg1212);
if (err) { if (err) {
......
...@@ -2762,7 +2762,7 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci, ...@@ -2762,7 +2762,7 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip); tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip);
if (request_irq(pci->irq, snd_m3_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_m3_interrupt, IRQF_SHARED,
card->driver, chip)) { card->driver, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_m3_free(chip); snd_m3_free(chip);
......
...@@ -1066,7 +1066,7 @@ static int snd_mixart_free(struct mixart_mgr *mgr) ...@@ -1066,7 +1066,7 @@ static int snd_mixart_free(struct mixart_mgr *mgr)
/* release irq */ /* release irq */
if (mgr->irq >= 0) if (mgr->irq >= 0)
free_irq(mgr->irq, (void *)mgr); free_irq(mgr->irq, mgr);
/* reset board if some firmware was loaded */ /* reset board if some firmware was loaded */
if(mgr->dsp_loaded) { if(mgr->dsp_loaded) {
...@@ -1319,7 +1319,8 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci, ...@@ -1319,7 +1319,8 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci,
pci_resource_len(pci, i)); pci_resource_len(pci, i));
} }
if (request_irq(pci->irq, snd_mixart_interrupt, IRQF_DISABLED|IRQF_SHARED, CARD_NAME, (void *)mgr)) { if (request_irq(pci->irq, snd_mixart_interrupt, IRQF_SHARED,
CARD_NAME, mgr)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_mixart_free(mgr); snd_mixart_free(mgr);
return -EBUSY; return -EBUSY;
......
...@@ -465,7 +465,7 @@ static int snd_nm256_acquire_irq(struct nm256 *chip) ...@@ -465,7 +465,7 @@ static int snd_nm256_acquire_irq(struct nm256 *chip)
{ {
mutex_lock(&chip->irq_mutex); mutex_lock(&chip->irq_mutex);
if (chip->irq < 0) { if (chip->irq < 0) {
if (request_irq(chip->pci->irq, chip->interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(chip->pci->irq, chip->interrupt, IRQF_SHARED,
chip->card->driver, chip)) { chip->card->driver, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->pci->irq);
mutex_unlock(&chip->irq_mutex); mutex_unlock(&chip->irq_mutex);
......
...@@ -1250,7 +1250,7 @@ static int __devinit pcxhr_probe(struct pci_dev *pci, const struct pci_device_id ...@@ -1250,7 +1250,7 @@ static int __devinit pcxhr_probe(struct pci_dev *pci, const struct pci_device_id
mgr->pci = pci; mgr->pci = pci;
mgr->irq = -1; mgr->irq = -1;
if (request_irq(pci->irq, pcxhr_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, pcxhr_interrupt, IRQF_SHARED,
card_name, mgr)) { card_name, mgr)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
pcxhr_free(mgr); pcxhr_free(mgr);
......
...@@ -1899,9 +1899,8 @@ snd_riptide_create(struct snd_card *card, struct pci_dev *pci, ...@@ -1899,9 +1899,8 @@ snd_riptide_create(struct snd_card *card, struct pci_dev *pci,
hwport = (struct riptideport *)chip->port; hwport = (struct riptideport *)chip->port;
UNSET_AIE(hwport); UNSET_AIE(hwport);
if (request_irq if (request_irq(pci->irq, snd_riptide_interrupt, IRQF_SHARED,
(pci->irq, snd_riptide_interrupt, IRQF_DISABLED | IRQF_SHARED, "RIPTIDE", chip)) {
"RIPTIDE", chip)) {
snd_printk(KERN_ERR "Riptide: unable to grab IRQ %d\n", snd_printk(KERN_ERR "Riptide: unable to grab IRQ %d\n",
pci->irq); pci->irq);
snd_riptide_free(chip); snd_riptide_free(chip);
......
...@@ -1373,7 +1373,8 @@ static int __devinit snd_rme32_create(struct rme32 * rme32) ...@@ -1373,7 +1373,8 @@ static int __devinit snd_rme32_create(struct rme32 * rme32)
return -ENOMEM; return -ENOMEM;
} }
if (request_irq(pci->irq, snd_rme32_interrupt, IRQF_DISABLED | IRQF_SHARED, "RME32", (void *) rme32)) { if (request_irq(pci->irq, snd_rme32_interrupt, IRQF_SHARED,
"RME32", rme32)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
return -EBUSY; return -EBUSY;
} }
......
...@@ -1587,7 +1587,8 @@ snd_rme96_create(struct rme96 *rme96) ...@@ -1587,7 +1587,8 @@ snd_rme96_create(struct rme96 *rme96)
return -ENOMEM; return -ENOMEM;
} }
if (request_irq(pci->irq, snd_rme96_interrupt, IRQF_DISABLED|IRQF_SHARED, "RME96", (void *)rme96)) { if (request_irq(pci->irq, snd_rme96_interrupt, IRQF_SHARED,
"RME96", rme96)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
return -EBUSY; return -EBUSY;
} }
......
...@@ -4934,7 +4934,8 @@ static int __devinit snd_hdsp_create(struct snd_card *card, ...@@ -4934,7 +4934,8 @@ static int __devinit snd_hdsp_create(struct snd_card *card,
return -EBUSY; return -EBUSY;
} }
if (request_irq(pci->irq, snd_hdsp_interrupt, IRQF_DISABLED|IRQF_SHARED, "hdsp", (void *)hdsp)) { if (request_irq(pci->irq, snd_hdsp_interrupt, IRQF_SHARED,
"hdsp", hdsp)) {
snd_printk(KERN_ERR "Hammerfall-DSP: unable to use IRQ %d\n", pci->irq); snd_printk(KERN_ERR "Hammerfall-DSP: unable to use IRQ %d\n", pci->irq);
return -EBUSY; return -EBUSY;
} }
......
...@@ -3496,8 +3496,7 @@ static int __devinit snd_hdspm_create(struct snd_card *card, struct hdspm * hdsp ...@@ -3496,8 +3496,7 @@ static int __devinit snd_hdspm_create(struct snd_card *card, struct hdspm * hdsp
hdspm->port + io_extent - 1); hdspm->port + io_extent - 1);
if (request_irq(pci->irq, snd_hdspm_interrupt, if (request_irq(pci->irq, snd_hdspm_interrupt,
IRQF_DISABLED | IRQF_SHARED, "hdspm", IRQF_SHARED, "hdspm", hdspm)) {
(void *) hdspm)) {
snd_printk(KERN_ERR "HDSPM: unable to use IRQ %d\n", pci->irq); snd_printk(KERN_ERR "HDSPM: unable to use IRQ %d\n", pci->irq);
return -EBUSY; return -EBUSY;
} }
......
...@@ -2500,7 +2500,8 @@ static int __devinit snd_rme9652_create(struct snd_card *card, ...@@ -2500,7 +2500,8 @@ static int __devinit snd_rme9652_create(struct snd_card *card,
return -EBUSY; return -EBUSY;
} }
if (request_irq(pci->irq, snd_rme9652_interrupt, IRQF_DISABLED|IRQF_SHARED, "rme9652", (void *)rme9652)) { if (request_irq(pci->irq, snd_rme9652_interrupt, IRQF_SHARED,
"rme9652", rme9652)) {
snd_printk(KERN_ERR "unable to request IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to request IRQ %d\n", pci->irq);
return -EBUSY; return -EBUSY;
} }
......
...@@ -1195,7 +1195,7 @@ static int snd_sonicvibes_free(struct sonicvibes *sonic) ...@@ -1195,7 +1195,7 @@ static int snd_sonicvibes_free(struct sonicvibes *sonic)
pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port); pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port);
pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port); pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port);
if (sonic->irq >= 0) if (sonic->irq >= 0)
free_irq(sonic->irq, (void *)sonic); free_irq(sonic->irq, sonic);
release_and_free_resource(sonic->res_dmaa); release_and_free_resource(sonic->res_dmaa);
release_and_free_resource(sonic->res_dmac); release_and_free_resource(sonic->res_dmac);
pci_release_regions(sonic->pci); pci_release_regions(sonic->pci);
...@@ -1257,7 +1257,8 @@ static int __devinit snd_sonicvibes_create(struct snd_card *card, ...@@ -1257,7 +1257,8 @@ static int __devinit snd_sonicvibes_create(struct snd_card *card,
sonic->midi_port = pci_resource_start(pci, 3); sonic->midi_port = pci_resource_start(pci, 3);
sonic->game_port = pci_resource_start(pci, 4); sonic->game_port = pci_resource_start(pci, 4);
if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_DISABLED|IRQF_SHARED, "S3 SonicVibes", (void *)sonic)) { if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_SHARED,
"S3 SonicVibes", sonic)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_sonicvibes_free(sonic); snd_sonicvibes_free(sonic);
return -EBUSY; return -EBUSY;
......
...@@ -3608,7 +3608,7 @@ int __devinit snd_trident_create(struct snd_card *card, ...@@ -3608,7 +3608,7 @@ int __devinit snd_trident_create(struct snd_card *card,
} }
trident->port = pci_resource_start(pci, 0); trident->port = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_trident_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_trident_interrupt, IRQF_SHARED,
"Trident Audio", trident)) { "Trident Audio", trident)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_trident_free(trident); snd_trident_free(trident);
......
...@@ -2307,7 +2307,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card, ...@@ -2307,7 +2307,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card,
if (request_irq(pci->irq, if (request_irq(pci->irq,
chip_type == TYPE_VIA8233 ? chip_type == TYPE_VIA8233 ?
snd_via8233_interrupt : snd_via686_interrupt, snd_via8233_interrupt : snd_via686_interrupt,
IRQF_DISABLED|IRQF_SHARED, IRQF_SHARED,
card->driver, chip)) { card->driver, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_via82xx_free(chip); snd_via82xx_free(chip);
......
...@@ -1124,7 +1124,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card, ...@@ -1124,7 +1124,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card,
return err; return err;
} }
chip->port = pci_resource_start(pci, 0); chip->port = pci_resource_start(pci, 0);
if (request_irq(pci->irq, snd_via82xx_interrupt, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_via82xx_interrupt, IRQF_SHARED,
card->driver, chip)) { card->driver, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_via82xx_free(chip); snd_via82xx_free(chip);
......
...@@ -169,8 +169,8 @@ static int __devinit snd_vx222_create(struct snd_card *card, struct pci_dev *pci ...@@ -169,8 +169,8 @@ static int __devinit snd_vx222_create(struct snd_card *card, struct pci_dev *pci
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
vx->port[i] = pci_resource_start(pci, i + 1); vx->port[i] = pci_resource_start(pci, i + 1);
if (request_irq(pci->irq, snd_vx_irq_handler, IRQF_DISABLED|IRQF_SHARED, if (request_irq(pci->irq, snd_vx_irq_handler, IRQF_SHARED,
CARD_NAME, (void *) chip)) { CARD_NAME, chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_vx222_free(chip); snd_vx222_free(chip);
return -EBUSY; return -EBUSY;
......
...@@ -2154,7 +2154,7 @@ static int snd_ymfpci_free(struct snd_ymfpci *chip) ...@@ -2154,7 +2154,7 @@ static int snd_ymfpci_free(struct snd_ymfpci *chip)
snd_dma_free_pages(&chip->work_ptr); snd_dma_free_pages(&chip->work_ptr);
if (chip->irq >= 0) if (chip->irq >= 0)
free_irq(chip->irq, (void *)chip); free_irq(chip->irq, chip);
release_and_free_resource(chip->res_reg_area); release_and_free_resource(chip->res_reg_area);
pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl); pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl);
...@@ -2301,7 +2301,8 @@ int __devinit snd_ymfpci_create(struct snd_card *card, ...@@ -2301,7 +2301,8 @@ int __devinit snd_ymfpci_create(struct snd_card *card,
snd_ymfpci_free(chip); snd_ymfpci_free(chip);
return -EBUSY; return -EBUSY;
} }
if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_DISABLED|IRQF_SHARED, "YMFPCI", (void *) chip)) { if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_SHARED,
"YMFPCI", chip)) {
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
snd_ymfpci_free(chip); snd_ymfpci_free(chip);
return -EBUSY; return -EBUSY;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
反馈
建议
客服 返回
顶部