aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-11-21 06:14:23 -0500
committerJaroslav Kysela <perex@server.perex.cz>2006-12-20 02:55:57 -0500
commit437a5a4606c12ab904793a7cad5b2062fc76c04e (patch)
tree57a8b320f931ddd29ecc5933d7f6acc68dc35ef7
parent01f681da496831eb3aff5a908cefdafe74dd263b (diff)
[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: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r--Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl8
-rw-r--r--sound/isa/sb/sb_common.c2
-rw-r--r--sound/pci/ad1889.c4
-rw-r--r--sound/pci/ali5451/ali5451.c5
-rw-r--r--sound/pci/als300.c6
-rw-r--r--sound/pci/atiixp.c2
-rw-r--r--sound/pci/atiixp_modem.c2
-rw-r--r--sound/pci/au88x0/au88x0.c2
-rw-r--r--sound/pci/azt3328.c5
-rw-r--r--sound/pci/bt87x.c2
-rw-r--r--sound/pci/ca0106/ca0106_main.c5
-rw-r--r--sound/pci/cmipci.c2
-rw-r--r--sound/pci/cs4281.c2
-rw-r--r--sound/pci/cs46xx/cs46xx_lib.c2
-rw-r--r--sound/pci/cs5535audio/cs5535audio.c2
-rw-r--r--sound/pci/echoaudio/echoaudio.c6
-rw-r--r--sound/pci/emu10k1/emu10k1_main.c5
-rw-r--r--sound/pci/emu10k1/emu10k1x.c5
-rw-r--r--sound/pci/ens1370.c2
-rw-r--r--sound/pci/es1938.c4
-rw-r--r--sound/pci/es1968.c6
-rw-r--r--sound/pci/fm801.c2
-rw-r--r--sound/pci/hda/hda_intel.c3
-rw-r--r--sound/pci/ice1712/ice1712.c2
-rw-r--r--sound/pci/ice1712/ice1724.c2
-rw-r--r--sound/pci/intel8x0.c4
-rw-r--r--sound/pci/intel8x0m.c4
-rw-r--r--sound/pci/korg1212/korg1212.c2
-rw-r--r--sound/pci/maestro3.c2
-rw-r--r--sound/pci/mixart/mixart.c5
-rw-r--r--sound/pci/nm256/nm256.c2
-rw-r--r--sound/pci/pcxhr/pcxhr.c2
-rw-r--r--sound/pci/riptide/riptide.c5
-rw-r--r--sound/pci/rme32.c3
-rw-r--r--sound/pci/rme96.c3
-rw-r--r--sound/pci/rme9652/hdsp.c3
-rw-r--r--sound/pci/rme9652/hdspm.c3
-rw-r--r--sound/pci/rme9652/rme9652.c3
-rw-r--r--sound/pci/sonicvibes.c5
-rw-r--r--sound/pci/trident/trident_main.c2
-rw-r--r--sound/pci/via82xx.c2
-rw-r--r--sound/pci/via82xx_modem.c2
-rw-r--r--sound/pci/vx222/vx222.c4
-rw-r--r--sound/pci/ymfpci/ymfpci_main.c5
44 files changed, 78 insertions, 71 deletions
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
index 077fbe25ebf4..ccd0a953953d 100644
--- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
+++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
@@ -927,7 +927,7 @@
927 <informalexample> 927 <informalexample>
928 <programlisting> 928 <programlisting>
929<![CDATA[ 929<![CDATA[
930 struct mychip *chip = (struct mychip *)card->private_data; 930 struct mychip *chip = card->private_data;
931]]> 931]]>
932 </programlisting> 932 </programlisting>
933 </informalexample> 933 </informalexample>
@@ -1095,7 +1095,7 @@
1095 1095
1096 /* release the irq */ 1096 /* release the irq */
1097 if (chip->irq >= 0) 1097 if (chip->irq >= 0)
1098 free_irq(chip->irq, (void *)chip); 1098 free_irq(chip->irq, chip);
1099 /* release the i/o ports & memory */ 1099 /* release the i/o ports & memory */
1100 pci_release_regions(chip->pci); 1100 pci_release_regions(chip->pci);
1101 /* disable the PCI entry */ 1101 /* disable the PCI entry */
@@ -1148,7 +1148,7 @@
1148 } 1148 }
1149 chip->port = pci_resource_start(pci, 0); 1149 chip->port = pci_resource_start(pci, 0);
1150 if (request_irq(pci->irq, snd_mychip_interrupt, 1150 if (request_irq(pci->irq, snd_mychip_interrupt,
1151 IRQF_DISABLED|IRQF_SHARED, "My Chip", chip)) { 1151 IRQF_SHARED, "My Chip", chip)) {
1152 printk(KERN_ERR "cannot grab irq %d\n", pci->irq); 1152 printk(KERN_ERR "cannot grab irq %d\n", pci->irq);
1153 snd_mychip_free(chip); 1153 snd_mychip_free(chip);
1154 return -EBUSY; 1154 return -EBUSY;
@@ -1387,7 +1387,7 @@
1387 <programlisting> 1387 <programlisting>
1388<![CDATA[ 1388<![CDATA[
1389 if (chip->irq >= 0) 1389 if (chip->irq >= 0)
1390 free_irq(chip->irq, (void *)chip); 1390 free_irq(chip->irq, chip);
1391]]> 1391]]>
1392 </programlisting> 1392 </programlisting>
1393 </informalexample> 1393 </informalexample>
diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
index c62a9e3d2ae4..3094f3852167 100644
--- a/sound/isa/sb/sb_common.c
+++ b/sound/isa/sb/sb_common.c
@@ -232,7 +232,7 @@ int snd_sbdsp_create(struct snd_card *card,
232 chip->port = port; 232 chip->port = port;
233 233
234 if (request_irq(irq, irq_handler, hardware == SB_HW_ALS4000 ? 234 if (request_irq(irq, irq_handler, hardware == SB_HW_ALS4000 ?
235 IRQF_DISABLED | IRQF_SHARED : IRQF_DISABLED, 235 IRQF_SHARED : IRQF_DISABLED,
236 "SoundBlaster", (void *) chip)) { 236 "SoundBlaster", (void *) chip)) {
237 snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq); 237 snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
238 snd_sbdsp_free(chip); 238 snd_sbdsp_free(chip);
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c
index cbf8331c3d33..98970d401be9 100644
--- a/sound/pci/ad1889.c
+++ b/sound/pci/ad1889.c
@@ -858,7 +858,7 @@ snd_ad1889_free(struct snd_ad1889 *chip)
858 synchronize_irq(chip->irq); 858 synchronize_irq(chip->irq);
859 859
860 if (chip->irq >= 0) 860 if (chip->irq >= 0)
861 free_irq(chip->irq, (void*)chip); 861 free_irq(chip->irq, chip);
862 862
863skip_hw: 863skip_hw:
864 if (chip->iobase) 864 if (chip->iobase)
@@ -945,7 +945,7 @@ snd_ad1889_create(struct snd_card *card,
945 spin_lock_init(&chip->lock); /* only now can we call ad1889_free */ 945 spin_lock_init(&chip->lock); /* only now can we call ad1889_free */
946 946
947 if (request_irq(pci->irq, snd_ad1889_interrupt, 947 if (request_irq(pci->irq, snd_ad1889_interrupt,
948 IRQF_DISABLED|IRQF_SHARED, card->driver, (void*)chip)) { 948 IRQF_SHARED, card->driver, chip)) {
949 printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq); 949 printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq);
950 snd_ad1889_free(chip); 950 snd_ad1889_free(chip);
951 return -EBUSY; 951 return -EBUSY;
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c
index a7edd56542d4..9327ab2eccb0 100644
--- a/sound/pci/ali5451/ali5451.c
+++ b/sound/pci/ali5451/ali5451.c
@@ -2095,7 +2095,7 @@ static int snd_ali_free(struct snd_ali * codec)
2095 snd_ali_disable_address_interrupt(codec); 2095 snd_ali_disable_address_interrupt(codec);
2096 if (codec->irq >= 0) { 2096 if (codec->irq >= 0) {
2097 synchronize_irq(codec->irq); 2097 synchronize_irq(codec->irq);
2098 free_irq(codec->irq, (void *)codec); 2098 free_irq(codec->irq, codec);
2099 } 2099 }
2100 if (codec->port) 2100 if (codec->port)
2101 pci_release_regions(codec->pci); 2101 pci_release_regions(codec->pci);
@@ -2192,7 +2192,8 @@ static int __devinit snd_ali_resources(struct snd_ali *codec)
2192 return err; 2192 return err;
2193 codec->port = pci_resource_start(codec->pci, 0); 2193 codec->port = pci_resource_start(codec->pci, 0);
2194 2194
2195 if (request_irq(codec->pci->irq, snd_ali_card_interrupt, IRQF_DISABLED|IRQF_SHARED, "ALI 5451", (void *)codec)) { 2195 if (request_irq(codec->pci->irq, snd_ali_card_interrupt,
2196 IRQF_SHARED, "ALI 5451", codec)) {
2196 snd_printk(KERN_ERR "Unable to request irq.\n"); 2197 snd_printk(KERN_ERR "Unable to request irq.\n");
2197 return -EBUSY; 2198 return -EBUSY;
2198 } 2199 }
diff --git a/sound/pci/als300.c b/sound/pci/als300.c
index 95f70f3cc37e..9f406fbe0d95 100644
--- a/sound/pci/als300.c
+++ b/sound/pci/als300.c
@@ -190,7 +190,7 @@ static int snd_als300_free(struct snd_als300 *chip)
190 snd_als300_dbgcallenter(); 190 snd_als300_dbgcallenter();
191 snd_als300_set_irq_flag(chip, IRQ_DISABLE); 191 snd_als300_set_irq_flag(chip, IRQ_DISABLE);
192 if (chip->irq >= 0) 192 if (chip->irq >= 0)
193 free_irq(chip->irq, (void *)chip); 193 free_irq(chip->irq, chip);
194 pci_release_regions(chip->pci); 194 pci_release_regions(chip->pci);
195 pci_disable_device(chip->pci); 195 pci_disable_device(chip->pci);
196 kfree(chip); 196 kfree(chip);
@@ -722,8 +722,8 @@ static int __devinit snd_als300_create(snd_card_t *card,
722 else 722 else
723 irq_handler = snd_als300_interrupt; 723 irq_handler = snd_als300_interrupt;
724 724
725 if (request_irq(pci->irq, irq_handler, IRQF_DISABLED|IRQF_SHARED, 725 if (request_irq(pci->irq, irq_handler, IRQF_SHARED,
726 card->shortname, (void *)chip)) { 726 card->shortname, chip)) {
727 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 727 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
728 snd_als300_free(chip); 728 snd_als300_free(chip);
729 return -EBUSY; 729 return -EBUSY;
diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c
index e3e99f396711..476c3433073e 100644
--- a/sound/pci/atiixp.c
+++ b/sound/pci/atiixp.c
@@ -1583,7 +1583,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
1583 return -EIO; 1583 return -EIO;
1584 } 1584 }
1585 1585
1586 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_DISABLED|IRQF_SHARED, 1586 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_SHARED,
1587 card->shortname, chip)) { 1587 card->shortname, chip)) {
1588 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1588 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1589 snd_atiixp_free(chip); 1589 snd_atiixp_free(chip);
diff --git a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c
index dc54f2c68ed7..cc2e6b9d407e 100644
--- a/sound/pci/atiixp_modem.c
+++ b/sound/pci/atiixp_modem.c
@@ -1256,7 +1256,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
1256 return -EIO; 1256 return -EIO;
1257 } 1257 }
1258 1258
1259 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_DISABLED|IRQF_SHARED, 1259 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_SHARED,
1260 card->shortname, chip)) { 1260 card->shortname, chip)) {
1261 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1261 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1262 snd_atiixp_free(chip); 1262 snd_atiixp_free(chip);
diff --git a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c
index 6ed5ad59f5b5..238154bb7a25 100644
--- a/sound/pci/au88x0/au88x0.c
+++ b/sound/pci/au88x0/au88x0.c
@@ -198,7 +198,7 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
198 } 198 }
199 199
200 if ((err = request_irq(pci->irq, vortex_interrupt, 200 if ((err = request_irq(pci->irq, vortex_interrupt,
201 IRQF_DISABLED | IRQF_SHARED, CARD_NAME_SHORT, 201 IRQF_SHARED, CARD_NAME_SHORT,
202 chip)) != 0) { 202 chip)) != 0) {
203 printk(KERN_ERR "cannot grab irq\n"); 203 printk(KERN_ERR "cannot grab irq\n");
204 goto irq_out; 204 goto irq_out;
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c
index 2414ee630756..43edd2839b5a 100644
--- a/sound/pci/azt3328.c
+++ b/sound/pci/azt3328.c
@@ -1513,7 +1513,7 @@ snd_azf3328_free(struct snd_azf3328 *chip)
1513__end_hw: 1513__end_hw:
1514 snd_azf3328_free_joystick(chip); 1514 snd_azf3328_free_joystick(chip);
1515 if (chip->irq >= 0) 1515 if (chip->irq >= 0)
1516 free_irq(chip->irq, (void *)chip); 1516 free_irq(chip->irq, chip);
1517 pci_release_regions(chip->pci); 1517 pci_release_regions(chip->pci);
1518 pci_disable_device(chip->pci); 1518 pci_disable_device(chip->pci);
1519 1519
@@ -1724,7 +1724,8 @@ snd_azf3328_create(struct snd_card *card,
1724 chip->synth_port = pci_resource_start(pci, 3); 1724 chip->synth_port = pci_resource_start(pci, 3);
1725 chip->mixer_port = pci_resource_start(pci, 4); 1725 chip->mixer_port = pci_resource_start(pci, 4);
1726 1726
1727 if (request_irq(pci->irq, snd_azf3328_interrupt, IRQF_DISABLED|IRQF_SHARED, card->shortname, (void *)chip)) { 1727 if (request_irq(pci->irq, snd_azf3328_interrupt,
1728 IRQF_SHARED, card->shortname, chip)) {
1728 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1729 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1729 err = -EBUSY; 1730 err = -EBUSY;
1730 goto out_err; 1731 goto out_err;
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index 05e009184bfb..c3f3da211234 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -747,7 +747,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card,
747 snd_bt87x_writel(chip, REG_INT_MASK, 0); 747 snd_bt87x_writel(chip, REG_INT_MASK, 0);
748 snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS); 748 snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS);
749 749
750 if (request_irq(pci->irq, snd_bt87x_interrupt, IRQF_DISABLED | IRQF_SHARED, 750 if (request_irq(pci->irq, snd_bt87x_interrupt, IRQF_SHARED,
751 "Bt87x audio", chip)) { 751 "Bt87x audio", chip)) {
752 snd_bt87x_free(chip); 752 snd_bt87x_free(chip);
753 snd_printk(KERN_ERR "cannot grab irq\n"); 753 snd_printk(KERN_ERR "cannot grab irq\n");
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c
index 2adbd003851d..35ac187cab66 100644
--- a/sound/pci/ca0106/ca0106_main.c
+++ b/sound/pci/ca0106/ca0106_main.c
@@ -1046,7 +1046,7 @@ static int snd_ca0106_free(struct snd_ca0106 *chip)
1046 1046
1047 // release the irq 1047 // release the irq
1048 if (chip->irq >= 0) 1048 if (chip->irq >= 0)
1049 free_irq(chip->irq, (void *)chip); 1049 free_irq(chip->irq, chip);
1050 pci_disable_device(chip->pci); 1050 pci_disable_device(chip->pci);
1051 kfree(chip); 1051 kfree(chip);
1052 return 0; 1052 return 0;
@@ -1267,8 +1267,7 @@ static int __devinit snd_ca0106_create(struct snd_card *card,
1267 } 1267 }
1268 1268
1269 if (request_irq(pci->irq, snd_ca0106_interrupt, 1269 if (request_irq(pci->irq, snd_ca0106_interrupt,
1270 IRQF_DISABLED|IRQF_SHARED, "snd_ca0106", 1270 IRQF_SHARED, "snd_ca0106", chip)) {
1271 (void *)chip)) {
1272 snd_ca0106_free(chip); 1271 snd_ca0106_free(chip);
1273 printk(KERN_ERR "cannot grab irq\n"); 1272 printk(KERN_ERR "cannot grab irq\n");
1274 return -EBUSY; 1273 return -EBUSY;
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c
index 0093cd1f92db..71c58df4af28 100644
--- a/sound/pci/cmipci.c
+++ b/sound/pci/cmipci.c
@@ -2862,7 +2862,7 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc
2862 cm->iobase = pci_resource_start(pci, 0); 2862 cm->iobase = pci_resource_start(pci, 0);
2863 2863
2864 if (request_irq(pci->irq, snd_cmipci_interrupt, 2864 if (request_irq(pci->irq, snd_cmipci_interrupt,
2865 IRQF_DISABLED|IRQF_SHARED, card->driver, cm)) { 2865 IRQF_SHARED, card->driver, cm)) {
2866 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2866 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2867 snd_cmipci_free(cm); 2867 snd_cmipci_free(cm);
2868 return -EBUSY; 2868 return -EBUSY;
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c
index 0905fa88129d..8e5519de7115 100644
--- a/sound/pci/cs4281.c
+++ b/sound/pci/cs4281.c
@@ -1391,7 +1391,7 @@ static int __devinit snd_cs4281_create(struct snd_card *card,
1391 return -ENOMEM; 1391 return -ENOMEM;
1392 } 1392 }
1393 1393
1394 if (request_irq(pci->irq, snd_cs4281_interrupt, IRQF_DISABLED|IRQF_SHARED, 1394 if (request_irq(pci->irq, snd_cs4281_interrupt, IRQF_SHARED,
1395 "CS4281", chip)) { 1395 "CS4281", chip)) {
1396 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1396 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1397 snd_cs4281_free(chip); 1397 snd_cs4281_free(chip);
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
index 2807b9756ef0..2ae539b195fd 100644
--- a/sound/pci/cs46xx/cs46xx_lib.c
+++ b/sound/pci/cs46xx/cs46xx_lib.c
@@ -3867,7 +3867,7 @@ int __devinit snd_cs46xx_create(struct snd_card *card,
3867 } 3867 }
3868 } 3868 }
3869 3869
3870 if (request_irq(pci->irq, snd_cs46xx_interrupt, IRQF_DISABLED|IRQF_SHARED, 3870 if (request_irq(pci->irq, snd_cs46xx_interrupt, IRQF_SHARED,
3871 "CS46XX", chip)) { 3871 "CS46XX", chip)) {
3872 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 3872 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
3873 snd_cs46xx_free(chip); 3873 snd_cs46xx_free(chip);
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c
index 2441238f2004..b8e75ef9c1e6 100644
--- a/sound/pci/cs5535audio/cs5535audio.c
+++ b/sound/pci/cs5535audio/cs5535audio.c
@@ -320,7 +320,7 @@ static int __devinit snd_cs5535audio_create(struct snd_card *card,
320 cs5535au->port = pci_resource_start(pci, 0); 320 cs5535au->port = pci_resource_start(pci, 0);
321 321
322 if (request_irq(pci->irq, snd_cs5535audio_interrupt, 322 if (request_irq(pci->irq, snd_cs5535audio_interrupt,
323 IRQF_DISABLED|IRQF_SHARED, "CS5535 Audio", cs5535au)) { 323 IRQF_SHARED, "CS5535 Audio", cs5535au)) {
324 snd_printk("unable to grab IRQ %d\n", pci->irq); 324 snd_printk("unable to grab IRQ %d\n", pci->irq);
325 err = -EBUSY; 325 err = -EBUSY;
326 goto sndfail; 326 goto sndfail;
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c
index e5e88fe54de0..047e0b5bf15d 100644
--- a/sound/pci/echoaudio/echoaudio.c
+++ b/sound/pci/echoaudio/echoaudio.c
@@ -1872,7 +1872,7 @@ static int snd_echo_free(struct echoaudio *chip)
1872 DE_INIT(("Stopped.\n")); 1872 DE_INIT(("Stopped.\n"));
1873 1873
1874 if (chip->irq >= 0) 1874 if (chip->irq >= 0)
1875 free_irq(chip->irq, (void *)chip); 1875 free_irq(chip->irq, chip);
1876 1876
1877 if (chip->dsp_registers) 1877 if (chip->dsp_registers)
1878 iounmap(chip->dsp_registers); 1878 iounmap(chip->dsp_registers);
@@ -1950,8 +1950,8 @@ static __devinit int snd_echo_create(struct snd_card *card,
1950 chip->dsp_registers = (volatile u32 __iomem *) 1950 chip->dsp_registers = (volatile u32 __iomem *)
1951 ioremap_nocache(chip->dsp_registers_phys, sz); 1951 ioremap_nocache(chip->dsp_registers_phys, sz);
1952 1952
1953 if (request_irq(pci->irq, snd_echo_interrupt, IRQF_DISABLED | IRQF_SHARED, 1953 if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
1954 ECHOCARD_NAME, (void *)chip)) { 1954 ECHOCARD_NAME, chip)) {
1955 snd_echo_free(chip); 1955 snd_echo_free(chip);
1956 snd_printk(KERN_ERR "cannot grab irq\n"); 1956 snd_printk(KERN_ERR "cannot grab irq\n");
1957 return -EBUSY; 1957 return -EBUSY;
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index 8bc4ffa6220d..972ec40d8166 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -759,7 +759,7 @@ static int snd_emu10k1_free(struct snd_emu10k1 *emu)
759 free_pm_buffer(emu); 759 free_pm_buffer(emu);
760#endif 760#endif
761 if (emu->irq >= 0) 761 if (emu->irq >= 0)
762 free_irq(emu->irq, (void *)emu); 762 free_irq(emu->irq, emu);
763 if (emu->port) 763 if (emu->port)
764 pci_release_regions(emu->pci); 764 pci_release_regions(emu->pci);
765 if (emu->card_capabilities->ca0151_chip) /* P16V */ 765 if (emu->card_capabilities->ca0151_chip) /* P16V */
@@ -1246,7 +1246,8 @@ int __devinit snd_emu10k1_create(struct snd_card *card,
1246 } 1246 }
1247 emu->port = pci_resource_start(pci, 0); 1247 emu->port = pci_resource_start(pci, 0);
1248 1248
1249 if (request_irq(pci->irq, snd_emu10k1_interrupt, IRQF_DISABLED|IRQF_SHARED, "EMU10K1", (void *)emu)) { 1249 if (request_irq(pci->irq, snd_emu10k1_interrupt, IRQF_SHARED,
1250 "EMU10K1", emu)) {
1250 err = -EBUSY; 1251 err = -EBUSY;
1251 goto error; 1252 goto error;
1252 } 1253 }
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c
index e0724394ed25..2199b42a6019 100644
--- a/sound/pci/emu10k1/emu10k1x.c
+++ b/sound/pci/emu10k1/emu10k1x.c
@@ -760,7 +760,7 @@ static int snd_emu10k1x_free(struct emu10k1x *chip)
760 760
761 // release the irq 761 // release the irq
762 if (chip->irq >= 0) 762 if (chip->irq >= 0)
763 free_irq(chip->irq, (void *)chip); 763 free_irq(chip->irq, chip);
764 764
765 // release the DMA 765 // release the DMA
766 if (chip->dma_buffer.area) { 766 if (chip->dma_buffer.area) {
@@ -927,8 +927,7 @@ static int __devinit snd_emu10k1x_create(struct snd_card *card,
927 } 927 }
928 928
929 if (request_irq(pci->irq, snd_emu10k1x_interrupt, 929 if (request_irq(pci->irq, snd_emu10k1x_interrupt,
930 IRQF_DISABLED|IRQF_SHARED, "EMU10K1X", 930 IRQF_SHARED, "EMU10K1X", chip)) {
931 (void *)chip)) {
932 snd_printk(KERN_ERR "emu10k1x: cannot grab irq %d\n", pci->irq); 931 snd_printk(KERN_ERR "emu10k1x: cannot grab irq %d\n", pci->irq);
933 snd_emu10k1x_free(chip); 932 snd_emu10k1x_free(chip);
934 return -EBUSY; 933 return -EBUSY;
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c
index d2a811f222c9..a84f6b21024f 100644
--- a/sound/pci/ens1370.c
+++ b/sound/pci/ens1370.c
@@ -2141,7 +2141,7 @@ static int __devinit snd_ensoniq_create(struct snd_card *card,
2141 return err; 2141 return err;
2142 } 2142 }
2143 ensoniq->port = pci_resource_start(pci, 0); 2143 ensoniq->port = pci_resource_start(pci, 0);
2144 if (request_irq(pci->irq, snd_audiopci_interrupt, IRQF_DISABLED|IRQF_SHARED, 2144 if (request_irq(pci->irq, snd_audiopci_interrupt, IRQF_SHARED,
2145 "Ensoniq AudioPCI", ensoniq)) { 2145 "Ensoniq AudioPCI", ensoniq)) {
2146 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2146 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2147 snd_ensoniq_free(ensoniq); 2147 snd_ensoniq_free(ensoniq);
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c
index 1a8d36df4b5d..66ac26c5a240 100644
--- a/sound/pci/es1938.c
+++ b/sound/pci/es1938.c
@@ -1508,7 +1508,7 @@ static int es1938_resume(struct pci_dev *pci)
1508 } 1508 }
1509 1509
1510 if (request_irq(pci->irq, snd_es1938_interrupt, 1510 if (request_irq(pci->irq, snd_es1938_interrupt,
1511 IRQF_DISABLED|IRQF_SHARED, "ES1938", chip)) { 1511 IRQF_SHARED, "ES1938", chip)) {
1512 printk(KERN_ERR "es1938: unable to grab IRQ %d, " 1512 printk(KERN_ERR "es1938: unable to grab IRQ %d, "
1513 "disabling device\n", pci->irq); 1513 "disabling device\n", pci->irq);
1514 snd_card_disconnect(card); 1514 snd_card_disconnect(card);
@@ -1631,7 +1631,7 @@ static int __devinit snd_es1938_create(struct snd_card *card,
1631 chip->vc_port = pci_resource_start(pci, 2); 1631 chip->vc_port = pci_resource_start(pci, 2);
1632 chip->mpu_port = pci_resource_start(pci, 3); 1632 chip->mpu_port = pci_resource_start(pci, 3);
1633 chip->game_port = pci_resource_start(pci, 4); 1633 chip->game_port = pci_resource_start(pci, 4);
1634 if (request_irq(pci->irq, snd_es1938_interrupt, IRQF_DISABLED|IRQF_SHARED, 1634 if (request_irq(pci->irq, snd_es1938_interrupt, IRQF_SHARED,
1635 "ES1938", chip)) { 1635 "ES1938", chip)) {
1636 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1636 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1637 snd_es1938_free(chip); 1637 snd_es1938_free(chip);
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c
index 01c521d1b460..dc84c189b05f 100644
--- a/sound/pci/es1968.c
+++ b/sound/pci/es1968.c
@@ -2462,7 +2462,7 @@ static int snd_es1968_free(struct es1968 *chip)
2462 } 2462 }
2463 2463
2464 if (chip->irq >= 0) 2464 if (chip->irq >= 0)
2465 free_irq(chip->irq, (void *)chip); 2465 free_irq(chip->irq, chip);
2466 snd_es1968_free_gameport(chip); 2466 snd_es1968_free_gameport(chip);
2467 chip->master_switch = NULL; 2467 chip->master_switch = NULL;
2468 chip->master_volume = NULL; 2468 chip->master_volume = NULL;
@@ -2552,8 +2552,8 @@ static int __devinit snd_es1968_create(struct snd_card *card,
2552 return err; 2552 return err;
2553 } 2553 }
2554 chip->io_port = pci_resource_start(pci, 0); 2554 chip->io_port = pci_resource_start(pci, 0);
2555 if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_DISABLED|IRQF_SHARED, 2555 if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_SHARED,
2556 "ESS Maestro", (void*)chip)) { 2556 "ESS Maestro", chip)) {
2557 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2557 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2558 snd_es1968_free(chip); 2558 snd_es1968_free(chip);
2559 return -EBUSY; 2559 return -EBUSY;
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c
index 77e3d5c18302..b7b361ce3a93 100644
--- a/sound/pci/fm801.c
+++ b/sound/pci/fm801.c
@@ -1395,7 +1395,7 @@ static int __devinit snd_fm801_create(struct snd_card *card,
1395 } 1395 }
1396 chip->port = pci_resource_start(pci, 0); 1396 chip->port = pci_resource_start(pci, 0);
1397 if ((tea575x_tuner & 0x0010) == 0) { 1397 if ((tea575x_tuner & 0x0010) == 0) {
1398 if (request_irq(pci->irq, snd_fm801_interrupt, IRQF_DISABLED|IRQF_SHARED, 1398 if (request_irq(pci->irq, snd_fm801_interrupt, IRQF_SHARED,
1399 "FM801", chip)) { 1399 "FM801", chip)) {
1400 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->irq); 1400 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->irq);
1401 snd_fm801_free(chip); 1401 snd_fm801_free(chip);
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index e35cfd326df2..9fd34f85cad5 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1380,7 +1380,8 @@ static int __devinit azx_init_stream(struct azx *chip)
1380 1380
1381static int azx_acquire_irq(struct azx *chip, int do_disconnect) 1381static int azx_acquire_irq(struct azx *chip, int do_disconnect)
1382{ 1382{
1383 if (request_irq(chip->pci->irq, azx_interrupt, IRQF_DISABLED|IRQF_SHARED, 1383 if (request_irq(chip->pci->irq, azx_interrupt,
1384 chip->msi ? 0 : IRQF_SHARED,
1384 "HDA Intel", chip)) { 1385 "HDA Intel", chip)) {
1385 printk(KERN_ERR "hda-intel: unable to grab IRQ %d, " 1386 printk(KERN_ERR "hda-intel: unable to grab IRQ %d, "
1386 "disabling device\n", chip->pci->irq); 1387 "disabling device\n", chip->pci->irq);
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index 8a576b78bee5..8ba31cfb9045 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -2614,7 +2614,7 @@ static int __devinit snd_ice1712_create(struct snd_card *card,
2614 ice->dmapath_port = pci_resource_start(pci, 2); 2614 ice->dmapath_port = pci_resource_start(pci, 2);
2615 ice->profi_port = pci_resource_start(pci, 3); 2615 ice->profi_port = pci_resource_start(pci, 3);
2616 2616
2617 if (request_irq(pci->irq, snd_ice1712_interrupt, IRQF_DISABLED|IRQF_SHARED, 2617 if (request_irq(pci->irq, snd_ice1712_interrupt, IRQF_SHARED,
2618 "ICE1712", ice)) { 2618 "ICE1712", ice)) {
2619 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2619 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2620 snd_ice1712_free(ice); 2620 snd_ice1712_free(ice);
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
index e9cbfdf37059..3e3a102e6c34 100644
--- a/sound/pci/ice1712/ice1724.c
+++ b/sound/pci/ice1712/ice1724.c
@@ -2253,7 +2253,7 @@ static int __devinit snd_vt1724_create(struct snd_card *card,
2253 ice->profi_port = pci_resource_start(pci, 1); 2253 ice->profi_port = pci_resource_start(pci, 1);
2254 2254
2255 if (request_irq(pci->irq, snd_vt1724_interrupt, 2255 if (request_irq(pci->irq, snd_vt1724_interrupt,
2256 IRQF_DISABLED|IRQF_SHARED, "ICE1724", ice)) { 2256 IRQF_SHARED, "ICE1724", ice)) {
2257 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2257 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2258 snd_vt1724_free(ice); 2258 snd_vt1724_free(ice);
2259 return -EIO; 2259 return -EIO;
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index 9c1bce7afa86..30aaa6092a84 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -2509,7 +2509,7 @@ static int intel8x0_resume(struct pci_dev *pci)
2509 } 2509 }
2510 pci_set_master(pci); 2510 pci_set_master(pci);
2511 if (request_irq(pci->irq, snd_intel8x0_interrupt, 2511 if (request_irq(pci->irq, snd_intel8x0_interrupt,
2512 IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { 2512 IRQF_SHARED, card->shortname, chip)) {
2513 printk(KERN_ERR "intel8x0: unable to grab IRQ %d, " 2513 printk(KERN_ERR "intel8x0: unable to grab IRQ %d, "
2514 "disabling device\n", pci->irq); 2514 "disabling device\n", pci->irq);
2515 snd_card_disconnect(card); 2515 snd_card_disconnect(card);
@@ -2887,7 +2887,7 @@ static int __devinit snd_intel8x0_create(struct snd_card *card,
2887 2887
2888 /* request irq after initializaing int_sta_mask, etc */ 2888 /* request irq after initializaing int_sta_mask, etc */
2889 if (request_irq(pci->irq, snd_intel8x0_interrupt, 2889 if (request_irq(pci->irq, snd_intel8x0_interrupt,
2890 IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { 2890 IRQF_SHARED, card->shortname, chip)) {
2891 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2891 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2892 snd_intel8x0_free(chip); 2892 snd_intel8x0_free(chip);
2893 return -EBUSY; 2893 return -EBUSY;
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c
index bd467c501123..09dcf923b547 100644
--- a/sound/pci/intel8x0m.c
+++ b/sound/pci/intel8x0m.c
@@ -1071,7 +1071,7 @@ static int intel8x0m_resume(struct pci_dev *pci)
1071 } 1071 }
1072 pci_set_master(pci); 1072 pci_set_master(pci);
1073 if (request_irq(pci->irq, snd_intel8x0_interrupt, 1073 if (request_irq(pci->irq, snd_intel8x0_interrupt,
1074 IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { 1074 IRQF_SHARED, card->shortname, chip)) {
1075 printk(KERN_ERR "intel8x0m: unable to grab IRQ %d, " 1075 printk(KERN_ERR "intel8x0m: unable to grab IRQ %d, "
1076 "disabling device\n", pci->irq); 1076 "disabling device\n", pci->irq);
1077 snd_card_disconnect(card); 1077 snd_card_disconnect(card);
@@ -1205,7 +1205,7 @@ static int __devinit snd_intel8x0m_create(struct snd_card *card,
1205 } 1205 }
1206 1206
1207 port_inited: 1207 port_inited:
1208 if (request_irq(pci->irq, snd_intel8x0_interrupt, IRQF_DISABLED|IRQF_SHARED, 1208 if (request_irq(pci->irq, snd_intel8x0_interrupt, IRQF_SHARED,
1209 card->shortname, chip)) { 1209 card->shortname, chip)) {
1210 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1210 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1211 snd_intel8x0_free(chip); 1211 snd_intel8x0_free(chip);
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
index fa8cd8cecc21..345eefeedb39 100644
--- a/sound/pci/korg1212/korg1212.c
+++ b/sound/pci/korg1212/korg1212.c
@@ -2233,7 +2233,7 @@ static int __devinit snd_korg1212_create(struct snd_card *card, struct pci_dev *
2233 } 2233 }
2234 2234
2235 err = request_irq(pci->irq, snd_korg1212_interrupt, 2235 err = request_irq(pci->irq, snd_korg1212_interrupt,
2236 IRQF_DISABLED|IRQF_SHARED, 2236 IRQF_SHARED,
2237 "korg1212", korg1212); 2237 "korg1212", korg1212);
2238 2238
2239 if (err) { 2239 if (err) {
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c
index 563c9ec49830..6efe6d5ade1e 100644
--- a/sound/pci/maestro3.c
+++ b/sound/pci/maestro3.c
@@ -2762,7 +2762,7 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
2762 2762
2763 tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip); 2763 tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip);
2764 2764
2765 if (request_irq(pci->irq, snd_m3_interrupt, IRQF_DISABLED|IRQF_SHARED, 2765 if (request_irq(pci->irq, snd_m3_interrupt, IRQF_SHARED,
2766 card->driver, chip)) { 2766 card->driver, chip)) {
2767 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2767 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2768 snd_m3_free(chip); 2768 snd_m3_free(chip);
diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c
index 216aee5f93e7..21386da3bc86 100644
--- a/sound/pci/mixart/mixart.c
+++ b/sound/pci/mixart/mixart.c
@@ -1066,7 +1066,7 @@ static int snd_mixart_free(struct mixart_mgr *mgr)
1066 1066
1067 /* release irq */ 1067 /* release irq */
1068 if (mgr->irq >= 0) 1068 if (mgr->irq >= 0)
1069 free_irq(mgr->irq, (void *)mgr); 1069 free_irq(mgr->irq, mgr);
1070 1070
1071 /* reset board if some firmware was loaded */ 1071 /* reset board if some firmware was loaded */
1072 if(mgr->dsp_loaded) { 1072 if(mgr->dsp_loaded) {
@@ -1319,7 +1319,8 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci,
1319 pci_resource_len(pci, i)); 1319 pci_resource_len(pci, i));
1320 } 1320 }
1321 1321
1322 if (request_irq(pci->irq, snd_mixart_interrupt, IRQF_DISABLED|IRQF_SHARED, CARD_NAME, (void *)mgr)) { 1322 if (request_irq(pci->irq, snd_mixart_interrupt, IRQF_SHARED,
1323 CARD_NAME, mgr)) {
1323 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1324 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1324 snd_mixart_free(mgr); 1325 snd_mixart_free(mgr);
1325 return -EBUSY; 1326 return -EBUSY;
diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c
index 945d21bf187e..879e31a9f9c6 100644
--- a/sound/pci/nm256/nm256.c
+++ b/sound/pci/nm256/nm256.c
@@ -465,7 +465,7 @@ static int snd_nm256_acquire_irq(struct nm256 *chip)
465{ 465{
466 mutex_lock(&chip->irq_mutex); 466 mutex_lock(&chip->irq_mutex);
467 if (chip->irq < 0) { 467 if (chip->irq < 0) {
468 if (request_irq(chip->pci->irq, chip->interrupt, IRQF_DISABLED|IRQF_SHARED, 468 if (request_irq(chip->pci->irq, chip->interrupt, IRQF_SHARED,
469 chip->card->driver, chip)) { 469 chip->card->driver, chip)) {
470 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->pci->irq); 470 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->pci->irq);
471 mutex_unlock(&chip->irq_mutex); 471 mutex_unlock(&chip->irq_mutex);
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c
index 533c672ae8f3..d97413484ae9 100644
--- a/sound/pci/pcxhr/pcxhr.c
+++ b/sound/pci/pcxhr/pcxhr.c
@@ -1250,7 +1250,7 @@ static int __devinit pcxhr_probe(struct pci_dev *pci, const struct pci_device_id
1250 mgr->pci = pci; 1250 mgr->pci = pci;
1251 mgr->irq = -1; 1251 mgr->irq = -1;
1252 1252
1253 if (request_irq(pci->irq, pcxhr_interrupt, IRQF_DISABLED|IRQF_SHARED, 1253 if (request_irq(pci->irq, pcxhr_interrupt, IRQF_SHARED,
1254 card_name, mgr)) { 1254 card_name, mgr)) {
1255 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1255 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1256 pcxhr_free(mgr); 1256 pcxhr_free(mgr);
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index 56e0c01123e7..5e1d5d2b2850 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -1899,9 +1899,8 @@ snd_riptide_create(struct snd_card *card, struct pci_dev *pci,
1899 hwport = (struct riptideport *)chip->port; 1899 hwport = (struct riptideport *)chip->port;
1900 UNSET_AIE(hwport); 1900 UNSET_AIE(hwport);
1901 1901
1902 if (request_irq 1902 if (request_irq(pci->irq, snd_riptide_interrupt, IRQF_SHARED,
1903 (pci->irq, snd_riptide_interrupt, IRQF_DISABLED | IRQF_SHARED, 1903 "RIPTIDE", chip)) {
1904 "RIPTIDE", chip)) {
1905 snd_printk(KERN_ERR "Riptide: unable to grab IRQ %d\n", 1904 snd_printk(KERN_ERR "Riptide: unable to grab IRQ %d\n",
1906 pci->irq); 1905 pci->irq);
1907 snd_riptide_free(chip); 1906 snd_riptide_free(chip);
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c
index dc8d1302e22d..6bb7ac650ec4 100644
--- a/sound/pci/rme32.c
+++ b/sound/pci/rme32.c
@@ -1373,7 +1373,8 @@ static int __devinit snd_rme32_create(struct rme32 * rme32)
1373 return -ENOMEM; 1373 return -ENOMEM;
1374 } 1374 }
1375 1375
1376 if (request_irq(pci->irq, snd_rme32_interrupt, IRQF_DISABLED | IRQF_SHARED, "RME32", (void *) rme32)) { 1376 if (request_irq(pci->irq, snd_rme32_interrupt, IRQF_SHARED,
1377 "RME32", rme32)) {
1377 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1378 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1378 return -EBUSY; 1379 return -EBUSY;
1379 } 1380 }
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c
index 106110a89a4c..e3304b7ccbcb 100644
--- a/sound/pci/rme96.c
+++ b/sound/pci/rme96.c
@@ -1587,7 +1587,8 @@ snd_rme96_create(struct rme96 *rme96)
1587 return -ENOMEM; 1587 return -ENOMEM;
1588 } 1588 }
1589 1589
1590 if (request_irq(pci->irq, snd_rme96_interrupt, IRQF_DISABLED|IRQF_SHARED, "RME96", (void *)rme96)) { 1590 if (request_irq(pci->irq, snd_rme96_interrupt, IRQF_SHARED,
1591 "RME96", rme96)) {
1591 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1592 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1592 return -EBUSY; 1593 return -EBUSY;
1593 } 1594 }
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index af2e59e5edf2..6383987b460e 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -4934,7 +4934,8 @@ static int __devinit snd_hdsp_create(struct snd_card *card,
4934 return -EBUSY; 4934 return -EBUSY;
4935 } 4935 }
4936 4936
4937 if (request_irq(pci->irq, snd_hdsp_interrupt, IRQF_DISABLED|IRQF_SHARED, "hdsp", (void *)hdsp)) { 4937 if (request_irq(pci->irq, snd_hdsp_interrupt, IRQF_SHARED,
4938 "hdsp", hdsp)) {
4938 snd_printk(KERN_ERR "Hammerfall-DSP: unable to use IRQ %d\n", pci->irq); 4939 snd_printk(KERN_ERR "Hammerfall-DSP: unable to use IRQ %d\n", pci->irq);
4939 return -EBUSY; 4940 return -EBUSY;
4940 } 4941 }
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 7055d893855d..0547f6f04bdc 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -3496,8 +3496,7 @@ static int __devinit snd_hdspm_create(struct snd_card *card, struct hdspm * hdsp
3496 hdspm->port + io_extent - 1); 3496 hdspm->port + io_extent - 1);
3497 3497
3498 if (request_irq(pci->irq, snd_hdspm_interrupt, 3498 if (request_irq(pci->irq, snd_hdspm_interrupt,
3499 IRQF_DISABLED | IRQF_SHARED, "hdspm", 3499 IRQF_SHARED, "hdspm", hdspm)) {
3500 (void *) hdspm)) {
3501 snd_printk(KERN_ERR "HDSPM: unable to use IRQ %d\n", pci->irq); 3500 snd_printk(KERN_ERR "HDSPM: unable to use IRQ %d\n", pci->irq);
3502 return -EBUSY; 3501 return -EBUSY;
3503 } 3502 }
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c
index dadd588dccc6..cc3bdececce7 100644
--- a/sound/pci/rme9652/rme9652.c
+++ b/sound/pci/rme9652/rme9652.c
@@ -2500,7 +2500,8 @@ static int __devinit snd_rme9652_create(struct snd_card *card,
2500 return -EBUSY; 2500 return -EBUSY;
2501 } 2501 }
2502 2502
2503 if (request_irq(pci->irq, snd_rme9652_interrupt, IRQF_DISABLED|IRQF_SHARED, "rme9652", (void *)rme9652)) { 2503 if (request_irq(pci->irq, snd_rme9652_interrupt, IRQF_SHARED,
2504 "rme9652", rme9652)) {
2504 snd_printk(KERN_ERR "unable to request IRQ %d\n", pci->irq); 2505 snd_printk(KERN_ERR "unable to request IRQ %d\n", pci->irq);
2505 return -EBUSY; 2506 return -EBUSY;
2506 } 2507 }
diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c
index f9b8afabda9c..9f25d93cbec2 100644
--- a/sound/pci/sonicvibes.c
+++ b/sound/pci/sonicvibes.c
@@ -1195,7 +1195,7 @@ static int snd_sonicvibes_free(struct sonicvibes *sonic)
1195 pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port); 1195 pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port);
1196 pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port); 1196 pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port);
1197 if (sonic->irq >= 0) 1197 if (sonic->irq >= 0)
1198 free_irq(sonic->irq, (void *)sonic); 1198 free_irq(sonic->irq, sonic);
1199 release_and_free_resource(sonic->res_dmaa); 1199 release_and_free_resource(sonic->res_dmaa);
1200 release_and_free_resource(sonic->res_dmac); 1200 release_and_free_resource(sonic->res_dmac);
1201 pci_release_regions(sonic->pci); 1201 pci_release_regions(sonic->pci);
@@ -1257,7 +1257,8 @@ static int __devinit snd_sonicvibes_create(struct snd_card *card,
1257 sonic->midi_port = pci_resource_start(pci, 3); 1257 sonic->midi_port = pci_resource_start(pci, 3);
1258 sonic->game_port = pci_resource_start(pci, 4); 1258 sonic->game_port = pci_resource_start(pci, 4);
1259 1259
1260 if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_DISABLED|IRQF_SHARED, "S3 SonicVibes", (void *)sonic)) { 1260 if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_SHARED,
1261 "S3 SonicVibes", sonic)) {
1261 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1262 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1262 snd_sonicvibes_free(sonic); 1263 snd_sonicvibes_free(sonic);
1263 return -EBUSY; 1264 return -EBUSY;
diff --git a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c
index 89fe5760df36..474f2d451ae8 100644
--- a/sound/pci/trident/trident_main.c
+++ b/sound/pci/trident/trident_main.c
@@ -3608,7 +3608,7 @@ int __devinit snd_trident_create(struct snd_card *card,
3608 } 3608 }
3609 trident->port = pci_resource_start(pci, 0); 3609 trident->port = pci_resource_start(pci, 0);
3610 3610
3611 if (request_irq(pci->irq, snd_trident_interrupt, IRQF_DISABLED|IRQF_SHARED, 3611 if (request_irq(pci->irq, snd_trident_interrupt, IRQF_SHARED,
3612 "Trident Audio", trident)) { 3612 "Trident Audio", trident)) {
3613 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 3613 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
3614 snd_trident_free(trident); 3614 snd_trident_free(trident);
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index 674b8429247b..a572b018807f 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -2307,7 +2307,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card,
2307 if (request_irq(pci->irq, 2307 if (request_irq(pci->irq,
2308 chip_type == TYPE_VIA8233 ? 2308 chip_type == TYPE_VIA8233 ?
2309 snd_via8233_interrupt : snd_via686_interrupt, 2309 snd_via8233_interrupt : snd_via686_interrupt,
2310 IRQF_DISABLED|IRQF_SHARED, 2310 IRQF_SHARED,
2311 card->driver, chip)) { 2311 card->driver, chip)) {
2312 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2312 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2313 snd_via82xx_free(chip); 2313 snd_via82xx_free(chip);
diff --git a/sound/pci/via82xx_modem.c b/sound/pci/via82xx_modem.c
index feb27c966256..17d6b847585f 100644
--- a/sound/pci/via82xx_modem.c
+++ b/sound/pci/via82xx_modem.c
@@ -1124,7 +1124,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card,
1124 return err; 1124 return err;
1125 } 1125 }
1126 chip->port = pci_resource_start(pci, 0); 1126 chip->port = pci_resource_start(pci, 0);
1127 if (request_irq(pci->irq, snd_via82xx_interrupt, IRQF_DISABLED|IRQF_SHARED, 1127 if (request_irq(pci->irq, snd_via82xx_interrupt, IRQF_SHARED,
1128 card->driver, chip)) { 1128 card->driver, chip)) {
1129 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1129 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1130 snd_via82xx_free(chip); 1130 snd_via82xx_free(chip);
diff --git a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c
index af49e8aabf55..89f58ea180b3 100644
--- a/sound/pci/vx222/vx222.c
+++ b/sound/pci/vx222/vx222.c
@@ -169,8 +169,8 @@ static int __devinit snd_vx222_create(struct snd_card *card, struct pci_dev *pci
169 for (i = 0; i < 2; i++) 169 for (i = 0; i < 2; i++)
170 vx->port[i] = pci_resource_start(pci, i + 1); 170 vx->port[i] = pci_resource_start(pci, i + 1);
171 171
172 if (request_irq(pci->irq, snd_vx_irq_handler, IRQF_DISABLED|IRQF_SHARED, 172 if (request_irq(pci->irq, snd_vx_irq_handler, IRQF_SHARED,
173 CARD_NAME, (void *) chip)) { 173 CARD_NAME, chip)) {
174 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 174 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
175 snd_vx222_free(chip); 175 snd_vx222_free(chip);
176 return -EBUSY; 176 return -EBUSY;
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
index 843dcca1d4a5..7881944a1957 100644
--- a/sound/pci/ymfpci/ymfpci_main.c
+++ b/sound/pci/ymfpci/ymfpci_main.c
@@ -2154,7 +2154,7 @@ static int snd_ymfpci_free(struct snd_ymfpci *chip)
2154 snd_dma_free_pages(&chip->work_ptr); 2154 snd_dma_free_pages(&chip->work_ptr);
2155 2155
2156 if (chip->irq >= 0) 2156 if (chip->irq >= 0)
2157 free_irq(chip->irq, (void *)chip); 2157 free_irq(chip->irq, chip);
2158 release_and_free_resource(chip->res_reg_area); 2158 release_and_free_resource(chip->res_reg_area);
2159 2159
2160 pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl); 2160 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 snd_ymfpci_free(chip); 2301 snd_ymfpci_free(chip);
2302 return -EBUSY; 2302 return -EBUSY;
2303 } 2303 }
2304 if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_DISABLED|IRQF_SHARED, "YMFPCI", (void *) chip)) { 2304 if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_SHARED,
2305 "YMFPCI", chip)) {
2305 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2306 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2306 snd_ymfpci_free(chip); 2307 snd_ymfpci_free(chip);
2307 return -EBUSY; 2308 return -EBUSY;