aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2006-07-01 22:29:42 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-02 16:58:53 -0400
commit1d6f359a2e06296418481239f8054a878f36e819 (patch)
treee3ce0c69e4f34374f51f4e226374467ca80e3993
parent5d8c8a2e8edc63d8aef7656678f41c6c603f0443 (diff)
[PATCH] irq-flags: scsi: Use the new IRQF_ constants
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/scsi/3w-9xxx.c2
-rw-r--r--drivers/scsi/3w-xxxx.c2
-rw-r--r--drivers/scsi/53c7xx.c4
-rw-r--r--drivers/scsi/BusLogic.c2
-rw-r--r--drivers/scsi/NCR5380.c2
-rw-r--r--drivers/scsi/NCR_D700.c2
-rw-r--r--drivers/scsi/NCR_Q720.c2
-rw-r--r--drivers/scsi/a100u2w.c2
-rw-r--r--drivers/scsi/a2091.c2
-rw-r--r--drivers/scsi/a3000.c2
-rw-r--r--drivers/scsi/aacraid/rkt.c2
-rw-r--r--drivers/scsi/aacraid/rx.c2
-rw-r--r--drivers/scsi/aacraid/sa.c2
-rw-r--r--drivers/scsi/advansys.c18
-rw-r--r--drivers/scsi/aha152x.c4
-rw-r--r--drivers/scsi/aha1740.c2
-rw-r--r--drivers/scsi/ahci.c2
-rw-r--r--drivers/scsi/aic7xxx/aic7770_osm.c2
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm_pci.c2
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm_pci.c2
-rw-r--r--drivers/scsi/aic7xxx_old.c4
-rw-r--r--drivers/scsi/arm/acornscsi.c2
-rw-r--r--drivers/scsi/arm/cumana_1.c2
-rw-r--r--drivers/scsi/arm/cumana_2.c2
-rw-r--r--drivers/scsi/arm/powertec.c2
-rw-r--r--drivers/scsi/atp870u.c6
-rw-r--r--drivers/scsi/blz1230.c2
-rw-r--r--drivers/scsi/blz2060.c2
-rw-r--r--drivers/scsi/cyberstorm.c2
-rw-r--r--drivers/scsi/cyberstormII.c2
-rw-r--r--drivers/scsi/dc395x.c2
-rw-r--r--drivers/scsi/dec_esp.c10
-rw-r--r--drivers/scsi/dmx3191d.c2
-rw-r--r--drivers/scsi/dpt_i2o.c2
-rw-r--r--drivers/scsi/dtc.c2
-rw-r--r--drivers/scsi/eata.c2
-rw-r--r--drivers/scsi/eata_pio.c4
-rw-r--r--drivers/scsi/esp.c2
-rw-r--r--drivers/scsi/fastlane.c2
-rw-r--r--drivers/scsi/fd_mcs.c2
-rw-r--r--drivers/scsi/fdomain.c2
-rw-r--r--drivers/scsi/g_NCR5380.c2
-rw-r--r--drivers/scsi/gdth.c6
-rw-r--r--drivers/scsi/gvp11.c2
-rw-r--r--drivers/scsi/hptiop.c2
-rw-r--r--drivers/scsi/ibmmca.c6
-rw-r--r--drivers/scsi/in2000.c2
-rw-r--r--drivers/scsi/initio.c2
-rw-r--r--drivers/scsi/ipr.c2
-rw-r--r--drivers/scsi/ips.c4
-rw-r--r--drivers/scsi/jazz_esp.c2
-rw-r--r--drivers/scsi/lasi700.c2
-rw-r--r--drivers/scsi/libata-bmdma.c2
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c2
-rw-r--r--drivers/scsi/megaraid.c2
-rw-r--r--drivers/scsi/megaraid/megaraid_mbox.c2
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c2
-rw-r--r--drivers/scsi/nsp32.c2
-rw-r--r--drivers/scsi/oktagon_esp.c2
-rw-r--r--drivers/scsi/pas16.c2
-rw-r--r--drivers/scsi/pcmcia/nsp_cs.c2
-rw-r--r--drivers/scsi/pcmcia/sym53c500_cs.c2
-rw-r--r--drivers/scsi/pdc_adma.c2
-rw-r--r--drivers/scsi/qla1280.c4
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c2
-rw-r--r--drivers/scsi/qlogicpti.c2
-rw-r--r--drivers/scsi/sata_mv.c2
-rw-r--r--drivers/scsi/sata_promise.c2
-rw-r--r--drivers/scsi/sata_qstor.c2
-rw-r--r--drivers/scsi/sata_sil.c2
-rw-r--r--drivers/scsi/sata_sil24.c2
-rw-r--r--drivers/scsi/sata_svw.c2
-rw-r--r--drivers/scsi/sata_sx4.c2
-rw-r--r--drivers/scsi/sata_via.c2
-rw-r--r--drivers/scsi/sata_vsc.c2
-rw-r--r--drivers/scsi/seagate.c2
-rw-r--r--drivers/scsi/sim710.c2
-rw-r--r--drivers/scsi/sun3x_esp.c2
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_glue.c2
-rw-r--r--drivers/scsi/t128.c2
-rw-r--r--drivers/scsi/tmscsim.c2
-rw-r--r--drivers/scsi/u14-34f.c2
-rw-r--r--drivers/scsi/wd7000.c2
-rw-r--r--drivers/scsi/zalon.c2
84 files changed, 108 insertions, 108 deletions
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
index b003baf8d404..5a9475e56d0e 100644
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -2122,7 +2122,7 @@ static int __devinit twa_probe(struct pci_dev *pdev, const struct pci_device_id
2122 TW_PARAM_PORTCOUNT, TW_PARAM_PORTCOUNT_LENGTH))); 2122 TW_PARAM_PORTCOUNT, TW_PARAM_PORTCOUNT_LENGTH)));
2123 2123
2124 /* Now setup the interrupt handler */ 2124 /* Now setup the interrupt handler */
2125 retval = request_irq(pdev->irq, twa_interrupt, SA_SHIRQ, "3w-9xxx", tw_dev); 2125 retval = request_irq(pdev->irq, twa_interrupt, IRQF_SHARED, "3w-9xxx", tw_dev);
2126 if (retval) { 2126 if (retval) {
2127 TW_PRINTK(tw_dev->host, TW_DRIVER, 0x30, "Error requesting IRQ"); 2127 TW_PRINTK(tw_dev->host, TW_DRIVER, 0x30, "Error requesting IRQ");
2128 goto out_remove_host; 2128 goto out_remove_host;
diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
index 17dbd4ac8692..f3a5f422a8e4 100644
--- a/drivers/scsi/3w-xxxx.c
+++ b/drivers/scsi/3w-xxxx.c
@@ -2397,7 +2397,7 @@ static int __devinit tw_probe(struct pci_dev *pdev, const struct pci_device_id *
2397 printk(KERN_WARNING "3w-xxxx: scsi%d: Found a 3ware Storage Controller at 0x%x, IRQ: %d.\n", host->host_no, tw_dev->base_addr, pdev->irq); 2397 printk(KERN_WARNING "3w-xxxx: scsi%d: Found a 3ware Storage Controller at 0x%x, IRQ: %d.\n", host->host_no, tw_dev->base_addr, pdev->irq);
2398 2398
2399 /* Now setup the interrupt handler */ 2399 /* Now setup the interrupt handler */
2400 retval = request_irq(pdev->irq, tw_interrupt, SA_SHIRQ, "3w-xxxx", tw_dev); 2400 retval = request_irq(pdev->irq, tw_interrupt, IRQF_SHARED, "3w-xxxx", tw_dev);
2401 if (retval) { 2401 if (retval) {
2402 printk(KERN_WARNING "3w-xxxx: Error requesting IRQ."); 2402 printk(KERN_WARNING "3w-xxxx: Error requesting IRQ.");
2403 goto out_remove_host; 2403 goto out_remove_host;
diff --git a/drivers/scsi/53c7xx.c b/drivers/scsi/53c7xx.c
index c9bd0335995d..c690c2b89e41 100644
--- a/drivers/scsi/53c7xx.c
+++ b/drivers/scsi/53c7xx.c
@@ -1070,7 +1070,7 @@ NCR53c7x0_init (struct Scsi_Host *host) {
1070 1070
1071 NCR53c7x0_driver_init (host); 1071 NCR53c7x0_driver_init (host);
1072 1072
1073 if (request_irq(host->irq, NCR53c7x0_intr, SA_SHIRQ, "53c7xx", host)) 1073 if (request_irq(host->irq, NCR53c7x0_intr, IRQF_SHARED, "53c7xx", host))
1074 { 1074 {
1075 printk("scsi%d : IRQ%d not free, detaching\n", 1075 printk("scsi%d : IRQ%d not free, detaching\n",
1076 host->host_no, host->irq); 1076 host->host_no, host->irq);
@@ -4232,7 +4232,7 @@ restart:
4232 * Purpose : handle NCR53c7x0 interrupts for all NCR devices sharing 4232 * Purpose : handle NCR53c7x0 interrupts for all NCR devices sharing
4233 * the same IRQ line. 4233 * the same IRQ line.
4234 * 4234 *
4235 * Inputs : Since we're using the SA_INTERRUPT interrupt handler 4235 * Inputs : Since we're using the IRQF_DISABLED interrupt handler
4236 * semantics, irq indicates the interrupt which invoked 4236 * semantics, irq indicates the interrupt which invoked
4237 * this handler. 4237 * this handler.
4238 * 4238 *
diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c
index 259b47ec4f54..16a12a3b7b2b 100644
--- a/drivers/scsi/BusLogic.c
+++ b/drivers/scsi/BusLogic.c
@@ -1844,7 +1844,7 @@ static boolean __init BusLogic_AcquireResources(struct BusLogic_HostAdapter *Hos
1844 /* 1844 /*
1845 Acquire shared access to the IRQ Channel. 1845 Acquire shared access to the IRQ Channel.
1846 */ 1846 */
1847 if (request_irq(HostAdapter->IRQ_Channel, BusLogic_InterruptHandler, SA_SHIRQ, HostAdapter->FullModelName, HostAdapter) < 0) { 1847 if (request_irq(HostAdapter->IRQ_Channel, BusLogic_InterruptHandler, IRQF_SHARED, HostAdapter->FullModelName, HostAdapter) < 0) {
1848 BusLogic_Error("UNABLE TO ACQUIRE IRQ CHANNEL %d - DETACHING\n", HostAdapter, HostAdapter->IRQ_Channel); 1848 BusLogic_Error("UNABLE TO ACQUIRE IRQ CHANNEL %d - DETACHING\n", HostAdapter, HostAdapter->IRQ_Channel);
1849 return false; 1849 return false;
1850 } 1850 }
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c
index 75f2f7ae2a8e..616810ad17d8 100644
--- a/drivers/scsi/NCR5380.c
+++ b/drivers/scsi/NCR5380.c
@@ -585,7 +585,7 @@ static int __init NCR5380_probe_irq(struct Scsi_Host *instance, int possible)
585 NCR5380_setup(instance); 585 NCR5380_setup(instance);
586 586
587 for (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1) 587 for (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1)
588 if ((mask & possible) && (request_irq(i, &probe_intr, SA_INTERRUPT, "NCR-probe", NULL) == 0)) 588 if ((mask & possible) && (request_irq(i, &probe_intr, IRQF_DISABLED, "NCR-probe", NULL) == 0))
589 trying_irqs |= mask; 589 trying_irqs |= mask;
590 590
591 timeout = jiffies + (250 * HZ / 1000); 591 timeout = jiffies + (250 * HZ / 1000);
diff --git a/drivers/scsi/NCR_D700.c b/drivers/scsi/NCR_D700.c
index 577e63499778..a06f547e87f7 100644
--- a/drivers/scsi/NCR_D700.c
+++ b/drivers/scsi/NCR_D700.c
@@ -320,7 +320,7 @@ NCR_D700_probe(struct device *dev)
320 memset(p, '\0', sizeof(*p)); 320 memset(p, '\0', sizeof(*p));
321 p->dev = dev; 321 p->dev = dev;
322 snprintf(p->name, sizeof(p->name), "D700(%s)", dev->bus_id); 322 snprintf(p->name, sizeof(p->name), "D700(%s)", dev->bus_id);
323 if (request_irq(irq, NCR_D700_intr, SA_SHIRQ, p->name, p)) { 323 if (request_irq(irq, NCR_D700_intr, IRQF_SHARED, p->name, p)) {
324 printk(KERN_ERR "D700: request_irq failed\n"); 324 printk(KERN_ERR "D700: request_irq failed\n");
325 kfree(p); 325 kfree(p);
326 return -EBUSY; 326 return -EBUSY;
diff --git a/drivers/scsi/NCR_Q720.c b/drivers/scsi/NCR_Q720.c
index 9d18ec90510f..c39ffbb86e39 100644
--- a/drivers/scsi/NCR_Q720.c
+++ b/drivers/scsi/NCR_Q720.c
@@ -265,7 +265,7 @@ NCR_Q720_probe(struct device *dev)
265 p->irq = irq; 265 p->irq = irq;
266 p->siops = siops; 266 p->siops = siops;
267 267
268 if (request_irq(irq, NCR_Q720_intr, SA_SHIRQ, "NCR_Q720", p)) { 268 if (request_irq(irq, NCR_Q720_intr, IRQF_SHARED, "NCR_Q720", p)) {
269 printk(KERN_ERR "NCR_Q720: request irq %d failed\n", irq); 269 printk(KERN_ERR "NCR_Q720: request irq %d failed\n", irq);
270 goto out_release; 270 goto out_release;
271 } 271 }
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
index 3dce21c78737..d7e9fab54c60 100644
--- a/drivers/scsi/a100u2w.c
+++ b/drivers/scsi/a100u2w.c
@@ -1120,7 +1120,7 @@ static int __devinit inia100_probe_one(struct pci_dev *pdev,
1120 shost->sg_tablesize = TOTAL_SG_ENTRY; 1120 shost->sg_tablesize = TOTAL_SG_ENTRY;
1121 1121
1122 /* Initial orc chip */ 1122 /* Initial orc chip */
1123 error = request_irq(pdev->irq, inia100_intr, SA_SHIRQ, 1123 error = request_irq(pdev->irq, inia100_intr, IRQF_SHARED,
1124 "inia100", shost); 1124 "inia100", shost);
1125 if (error < 0) { 1125 if (error < 0) {
1126 printk(KERN_WARNING "inia100: unable to get irq %d\n", 1126 printk(KERN_WARNING "inia100: unable to get irq %d\n",
diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c
index 54996eaae979..fddfa2ebcd70 100644
--- a/drivers/scsi/a2091.c
+++ b/drivers/scsi/a2091.c
@@ -208,7 +208,7 @@ int __init a2091_detect(struct scsi_host_template *tpnt)
208 regs.SASR = &(DMA(instance)->SASR); 208 regs.SASR = &(DMA(instance)->SASR);
209 regs.SCMD = &(DMA(instance)->SCMD); 209 regs.SCMD = &(DMA(instance)->SCMD);
210 wd33c93_init(instance, regs, dma_setup, dma_stop, WD33C93_FS_8_10); 210 wd33c93_init(instance, regs, dma_setup, dma_stop, WD33C93_FS_8_10);
211 request_irq(IRQ_AMIGA_PORTS, a2091_intr, SA_SHIRQ, "A2091 SCSI", 211 request_irq(IRQ_AMIGA_PORTS, a2091_intr, IRQF_SHARED, "A2091 SCSI",
212 instance); 212 instance);
213 DMA(instance)->CNTR = CNTR_PDMD | CNTR_INTEN; 213 DMA(instance)->CNTR = CNTR_PDMD | CNTR_INTEN;
214 num_a2091++; 214 num_a2091++;
diff --git a/drivers/scsi/a3000.c b/drivers/scsi/a3000.c
index f425d424bf08..ae9ab4b136ac 100644
--- a/drivers/scsi/a3000.c
+++ b/drivers/scsi/a3000.c
@@ -190,7 +190,7 @@ int __init a3000_detect(struct scsi_host_template *tpnt)
190 regs.SASR = &(DMA(a3000_host)->SASR); 190 regs.SASR = &(DMA(a3000_host)->SASR);
191 regs.SCMD = &(DMA(a3000_host)->SCMD); 191 regs.SCMD = &(DMA(a3000_host)->SCMD);
192 wd33c93_init(a3000_host, regs, dma_setup, dma_stop, WD33C93_FS_12_15); 192 wd33c93_init(a3000_host, regs, dma_setup, dma_stop, WD33C93_FS_12_15);
193 if (request_irq(IRQ_AMIGA_PORTS, a3000_intr, SA_SHIRQ, "A3000 SCSI", 193 if (request_irq(IRQ_AMIGA_PORTS, a3000_intr, IRQF_SHARED, "A3000 SCSI",
194 a3000_intr)) 194 a3000_intr))
195 goto fail_irq; 195 goto fail_irq;
196 DMA(a3000_host)->CNTR = CNTR_PDMD | CNTR_INTEN; 196 DMA(a3000_host)->CNTR = CNTR_PDMD | CNTR_INTEN;
diff --git a/drivers/scsi/aacraid/rkt.c b/drivers/scsi/aacraid/rkt.c
index 5b52966bbbf3..458ea897fd72 100644
--- a/drivers/scsi/aacraid/rkt.c
+++ b/drivers/scsi/aacraid/rkt.c
@@ -453,7 +453,7 @@ int aac_rkt_init(struct aac_dev *dev)
453 } 453 }
454 msleep(1); 454 msleep(1);
455 } 455 }
456 if (request_irq(dev->scsi_host_ptr->irq, aac_rkt_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev)<0) 456 if (request_irq(dev->scsi_host_ptr->irq, aac_rkt_intr, IRQF_SHARED|IRQF_DISABLED, "aacraid", (void *)dev)<0)
457 { 457 {
458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance); 458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance);
459 goto error_iounmap; 459 goto error_iounmap;
diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
index 9dadfb28b3f1..035018db69b1 100644
--- a/drivers/scsi/aacraid/rx.c
+++ b/drivers/scsi/aacraid/rx.c
@@ -453,7 +453,7 @@ int aac_rx_init(struct aac_dev *dev)
453 } 453 }
454 msleep(1); 454 msleep(1);
455 } 455 }
456 if (request_irq(dev->scsi_host_ptr->irq, aac_rx_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev)<0) 456 if (request_irq(dev->scsi_host_ptr->irq, aac_rx_intr, IRQF_SHARED|IRQF_DISABLED, "aacraid", (void *)dev)<0)
457 { 457 {
458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance); 458 printk(KERN_ERR "%s%d: Interrupt unavailable.\n", name, instance);
459 goto error_iounmap; 459 goto error_iounmap;
diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
index 88d400fccc94..cd586cc8f9be 100644
--- a/drivers/scsi/aacraid/sa.c
+++ b/drivers/scsi/aacraid/sa.c
@@ -327,7 +327,7 @@ int aac_sa_init(struct aac_dev *dev)
327 msleep(1); 327 msleep(1);
328 } 328 }
329 329
330 if (request_irq(dev->scsi_host_ptr->irq, aac_sa_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev ) < 0) { 330 if (request_irq(dev->scsi_host_ptr->irq, aac_sa_intr, IRQF_SHARED|IRQF_DISABLED, "aacraid", (void *)dev ) < 0) {
331 printk(KERN_WARNING "%s%d: Interrupt unavailable.\n", name, instance); 331 printk(KERN_WARNING "%s%d: Interrupt unavailable.\n", name, instance);
332 goto error_iounmap; 332 goto error_iounmap;
333 } 333 }
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 537136457ea0..e32b4ab2f8fb 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -371,7 +371,7 @@
371 371
372 1.5 (8/8/96): 372 1.5 (8/8/96):
373 1. Add support for ABP-940U (PCI Ultra) adapter. 373 1. Add support for ABP-940U (PCI Ultra) adapter.
374 2. Add support for IRQ sharing by setting the SA_SHIRQ flag for 374 2. Add support for IRQ sharing by setting the IRQF_SHARED flag for
375 request_irq and supplying a dev_id pointer to both request_irq() 375 request_irq and supplying a dev_id pointer to both request_irq()
376 and free_irq(). 376 and free_irq().
377 3. In AscSearchIOPortAddr11() restore a call to check_region() which 377 3. In AscSearchIOPortAddr11() restore a call to check_region() which
@@ -504,9 +504,9 @@
504 3. For v2.1.93 and newer kernels use CONFIG_PCI and new PCI BIOS 504 3. For v2.1.93 and newer kernels use CONFIG_PCI and new PCI BIOS
505 access functions. 505 access functions.
506 4. Update board serial number printing. 506 4. Update board serial number printing.
507 5. Try allocating an IRQ both with and without the SA_INTERRUPT 507 5. Try allocating an IRQ both with and without the IRQF_DISABLED
508 flag set to allow IRQ sharing with drivers that do not set 508 flag set to allow IRQ sharing with drivers that do not set
509 the SA_INTERRUPT flag. Also display a more descriptive error 509 the IRQF_DISABLED flag. Also display a more descriptive error
510 message if request_irq() fails. 510 message if request_irq() fails.
511 6. Update to latest Asc and Adv Libraries. 511 6. Update to latest Asc and Adv Libraries.
512 512
@@ -5202,19 +5202,19 @@ advansys_detect(struct scsi_host_template *tpnt)
5202 /* Register IRQ Number. */ 5202 /* Register IRQ Number. */
5203 ASC_DBG1(2, "advansys_detect: request_irq() %d\n", shp->irq); 5203 ASC_DBG1(2, "advansys_detect: request_irq() %d\n", shp->irq);
5204 /* 5204 /*
5205 * If request_irq() fails with the SA_INTERRUPT flag set, 5205 * If request_irq() fails with the IRQF_DISABLED flag set,
5206 * then try again without the SA_INTERRUPT flag set. This 5206 * then try again without the IRQF_DISABLED flag set. This
5207 * allows IRQ sharing to work even with other drivers that 5207 * allows IRQ sharing to work even with other drivers that
5208 * do not set the SA_INTERRUPT flag. 5208 * do not set the IRQF_DISABLED flag.
5209 * 5209 *
5210 * If SA_INTERRUPT is not set, then interrupts are enabled 5210 * If IRQF_DISABLED is not set, then interrupts are enabled
5211 * before the driver interrupt function is called. 5211 * before the driver interrupt function is called.
5212 */ 5212 */
5213 if (((ret = request_irq(shp->irq, advansys_interrupt, 5213 if (((ret = request_irq(shp->irq, advansys_interrupt,
5214 SA_INTERRUPT | (share_irq == TRUE ? SA_SHIRQ : 0), 5214 IRQF_DISABLED | (share_irq == TRUE ? IRQF_SHARED : 0),
5215 "advansys", boardp)) != 0) && 5215 "advansys", boardp)) != 0) &&
5216 ((ret = request_irq(shp->irq, advansys_interrupt, 5216 ((ret = request_irq(shp->irq, advansys_interrupt,
5217 (share_irq == TRUE ? SA_SHIRQ : 0), 5217 (share_irq == TRUE ? IRQF_SHARED : 0),
5218 "advansys", boardp)) != 0)) 5218 "advansys", boardp)) != 0))
5219 { 5219 {
5220 if (ret == -EBUSY) { 5220 if (ret == -EBUSY) {
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index de80cdfb5b9d..36e63f82d9f8 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -855,7 +855,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
855 SETPORT(SIMODE0, 0); 855 SETPORT(SIMODE0, 0);
856 SETPORT(SIMODE1, 0); 856 SETPORT(SIMODE1, 0);
857 857
858 if( request_irq(shpnt->irq, swintr, SA_INTERRUPT|SA_SHIRQ, "aha152x", shpnt) ) { 858 if( request_irq(shpnt->irq, swintr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
859 printk(KERN_ERR "aha152x%d: irq %d busy.\n", shpnt->host_no, shpnt->irq); 859 printk(KERN_ERR "aha152x%d: irq %d busy.\n", shpnt->host_no, shpnt->irq);
860 goto out_host_put; 860 goto out_host_put;
861 } 861 }
@@ -889,7 +889,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
889 SETPORT(SSTAT0, 0x7f); 889 SETPORT(SSTAT0, 0x7f);
890 SETPORT(SSTAT1, 0xef); 890 SETPORT(SSTAT1, 0xef);
891 891
892 if ( request_irq(shpnt->irq, intr, SA_INTERRUPT|SA_SHIRQ, "aha152x", shpnt) ) { 892 if ( request_irq(shpnt->irq, intr, IRQF_DISABLED|IRQF_SHARED, "aha152x", shpnt) ) {
893 printk(KERN_ERR "aha152x%d: failed to reassign irq %d.\n", shpnt->host_no, shpnt->irq); 893 printk(KERN_ERR "aha152x%d: failed to reassign irq %d.\n", shpnt->host_no, shpnt->irq);
894 goto out_host_put; 894 goto out_host_put;
895 } 895 }
diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c
index 4b8c6a543925..0e4a7ebe300a 100644
--- a/drivers/scsi/aha1740.c
+++ b/drivers/scsi/aha1740.c
@@ -634,7 +634,7 @@ static int aha1740_probe (struct device *dev)
634 } 634 }
635 635
636 DEB(printk("aha1740_probe: enable interrupt channel %d\n",irq_level)); 636 DEB(printk("aha1740_probe: enable interrupt channel %d\n",irq_level));
637 if (request_irq(irq_level,aha1740_intr_handle,irq_type ? 0 : SA_SHIRQ, 637 if (request_irq(irq_level,aha1740_intr_handle,irq_type ? 0 : IRQF_SHARED,
638 "aha1740",shpnt)) { 638 "aha1740",shpnt)) {
639 printk(KERN_ERR "aha1740_probe: Unable to allocate IRQ %d.\n", 639 printk(KERN_ERR "aha1740_probe: Unable to allocate IRQ %d.\n",
640 irq_level); 640 irq_level);
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
index f05946777718..15f6cd4279b7 100644
--- a/drivers/scsi/ahci.c
+++ b/drivers/scsi/ahci.c
@@ -1371,7 +1371,7 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
1371 probe_ent->port_ops = ahci_port_info[board_idx].port_ops; 1371 probe_ent->port_ops = ahci_port_info[board_idx].port_ops;
1372 1372
1373 probe_ent->irq = pdev->irq; 1373 probe_ent->irq = pdev->irq;
1374 probe_ent->irq_flags = SA_SHIRQ; 1374 probe_ent->irq_flags = IRQF_SHARED;
1375 probe_ent->mmio_base = mmio_base; 1375 probe_ent->mmio_base = mmio_base;
1376 probe_ent->private_data = hpriv; 1376 probe_ent->private_data = hpriv;
1377 1377
diff --git a/drivers/scsi/aic7xxx/aic7770_osm.c b/drivers/scsi/aic7xxx/aic7770_osm.c
index d754b3267863..867cbe23579b 100644
--- a/drivers/scsi/aic7xxx/aic7770_osm.c
+++ b/drivers/scsi/aic7xxx/aic7770_osm.c
@@ -65,7 +65,7 @@ aic7770_map_int(struct ahc_softc *ahc, u_int irq)
65 65
66 shared = 0; 66 shared = 0;
67 if ((ahc->flags & AHC_EDGE_INTERRUPT) == 0) 67 if ((ahc->flags & AHC_EDGE_INTERRUPT) == 0)
68 shared = SA_SHIRQ; 68 shared = IRQF_SHARED;
69 69
70 error = request_irq(irq, ahc_linux_isr, shared, "aic7xxx", ahc); 70 error = request_irq(irq, ahc_linux_isr, shared, "aic7xxx", ahc);
71 if (error == 0) 71 if (error == 0)
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
index ebbf7e4ff4cc..50a41eda580e 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
@@ -342,7 +342,7 @@ ahd_pci_map_int(struct ahd_softc *ahd)
342 int error; 342 int error;
343 343
344 error = request_irq(ahd->dev_softc->irq, ahd_linux_isr, 344 error = request_irq(ahd->dev_softc->irq, ahd_linux_isr,
345 SA_SHIRQ, "aic79xx", ahd); 345 IRQF_SHARED, "aic79xx", ahd);
346 if (!error) 346 if (!error)
347 ahd->platform_data->irq = ahd->dev_softc->irq; 347 ahd->platform_data->irq = ahd->dev_softc->irq;
348 348
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
index 0c9c2f400bf6..7e42f07a27f3 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
@@ -375,7 +375,7 @@ ahc_pci_map_int(struct ahc_softc *ahc)
375 int error; 375 int error;
376 376
377 error = request_irq(ahc->dev_softc->irq, ahc_linux_isr, 377 error = request_irq(ahc->dev_softc->irq, ahc_linux_isr,
378 SA_SHIRQ, "aic7xxx", ahc); 378 IRQF_SHARED, "aic7xxx", ahc);
379 if (error == 0) 379 if (error == 0)
380 ahc->platform_data->irq = ahc->dev_softc->irq; 380 ahc->platform_data->irq = ahc->dev_softc->irq;
381 381
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 5dba1c63122e..3f85b5e978f1 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -8322,11 +8322,11 @@ aic7xxx_register(struct scsi_host_template *template, struct aic7xxx_host *p,
8322 } 8322 }
8323 else 8323 else
8324 { 8324 {
8325 result = (request_irq(p->irq, do_aic7xxx_isr, SA_SHIRQ, 8325 result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_SHARED,
8326 "aic7xxx", p)); 8326 "aic7xxx", p));
8327 if (result < 0) 8327 if (result < 0)
8328 { 8328 {
8329 result = (request_irq(p->irq, do_aic7xxx_isr, SA_INTERRUPT | SA_SHIRQ, 8329 result = (request_irq(p->irq, do_aic7xxx_isr, IRQF_DISABLED | IRQF_SHARED,
8330 "aic7xxx", p)); 8330 "aic7xxx", p));
8331 } 8331 }
8332 } 8332 }
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index 1b9900b58956..7621e3fa37b1 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -3030,7 +3030,7 @@ acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
3030 if (!request_region(host->io_port, 2048, "acornscsi(ram)")) 3030 if (!request_region(host->io_port, 2048, "acornscsi(ram)"))
3031 goto err_5; 3031 goto err_5;
3032 3032
3033 ret = request_irq(host->irq, acornscsi_intr, SA_INTERRUPT, "acornscsi", ashost); 3033 ret = request_irq(host->irq, acornscsi_intr, IRQF_DISABLED, "acornscsi", ashost);
3034 if (ret) { 3034 if (ret) {
3035 printk(KERN_CRIT "scsi%d: IRQ%d not free: %d\n", 3035 printk(KERN_CRIT "scsi%d: IRQ%d not free: %d\n",
3036 host->host_no, ashost->scsi.irq, ret); 3036 host->host_no, ashost->scsi.irq, ret);
diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c
index e6c9491dc5c0..3bdfc36481ae 100644
--- a/drivers/scsi/arm/cumana_1.c
+++ b/drivers/scsi/arm/cumana_1.c
@@ -277,7 +277,7 @@ cumanascsi1_probe(struct expansion_card *ec, const struct ecard_id *id)
277 ((struct NCR5380_hostdata *)host->hostdata)->ctrl = 0; 277 ((struct NCR5380_hostdata *)host->hostdata)->ctrl = 0;
278 outb(0x00, host->io_port - 577); 278 outb(0x00, host->io_port - 577);
279 279
280 ret = request_irq(host->irq, cumanascsi_intr, SA_INTERRUPT, 280 ret = request_irq(host->irq, cumanascsi_intr, IRQF_DISABLED,
281 "CumanaSCSI-1", host); 281 "CumanaSCSI-1", host);
282 if (ret) { 282 if (ret) {
283 printk("scsi%d: IRQ%d not free: %d\n", 283 printk("scsi%d: IRQ%d not free: %d\n",
diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c
index fad2109268bb..719af0dcc0e5 100644
--- a/drivers/scsi/arm/cumana_2.c
+++ b/drivers/scsi/arm/cumana_2.c
@@ -460,7 +460,7 @@ cumanascsi2_probe(struct expansion_card *ec, const struct ecard_id *id)
460 goto out_free; 460 goto out_free;
461 461
462 ret = request_irq(ec->irq, cumanascsi_2_intr, 462 ret = request_irq(ec->irq, cumanascsi_2_intr,
463 SA_INTERRUPT, "cumanascsi2", info); 463 IRQF_DISABLED, "cumanascsi2", info);
464 if (ret) { 464 if (ret) {
465 printk("scsi%d: IRQ%d not free: %d\n", 465 printk("scsi%d: IRQ%d not free: %d\n",
466 host->host_no, ec->irq, ret); 466 host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
index 3d69f6c45a6b..b2c346a47052 100644
--- a/drivers/scsi/arm/powertec.c
+++ b/drivers/scsi/arm/powertec.c
@@ -373,7 +373,7 @@ powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
373 goto out_free; 373 goto out_free;
374 374
375 ret = request_irq(ec->irq, powertecscsi_intr, 375 ret = request_irq(ec->irq, powertecscsi_intr,
376 SA_INTERRUPT, "powertec", info); 376 IRQF_DISABLED, "powertec", info);
377 if (ret) { 377 if (ret) {
378 printk("scsi%d: IRQ%d not free: %d\n", 378 printk("scsi%d: IRQ%d not free: %d\n",
379 host->host_no, ec->irq, ret); 379 host->host_no, ec->irq, ret);
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
index 3ee4d4d3f445..412f8301b757 100644
--- a/drivers/scsi/atp870u.c
+++ b/drivers/scsi/atp870u.c
@@ -2751,7 +2751,7 @@ flash_ok_880:
2751 goto unregister; 2751 goto unregister;
2752 } 2752 }
2753 2753
2754 if (request_irq(pdev->irq, atp870u_intr_handle, SA_SHIRQ, "atp880i", shpnt)) { 2754 if (request_irq(pdev->irq, atp870u_intr_handle, IRQF_SHARED, "atp880i", shpnt)) {
2755 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq); 2755 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq);
2756 goto free_tables; 2756 goto free_tables;
2757 } 2757 }
@@ -2822,7 +2822,7 @@ flash_ok_880:
2822#ifdef ED_DBGP 2822#ifdef ED_DBGP
2823 printk("request_irq() shpnt %p hostdata %p\n", shpnt, p); 2823 printk("request_irq() shpnt %p hostdata %p\n", shpnt, p);
2824#endif 2824#endif
2825 if (request_irq(pdev->irq, atp870u_intr_handle, SA_SHIRQ, "atp870u", shpnt)) { 2825 if (request_irq(pdev->irq, atp870u_intr_handle, IRQF_SHARED, "atp870u", shpnt)) {
2826 printk(KERN_ERR "Unable to allocate IRQ for Acard controller.\n"); 2826 printk(KERN_ERR "Unable to allocate IRQ for Acard controller.\n");
2827 goto free_tables; 2827 goto free_tables;
2828 } 2828 }
@@ -3004,7 +3004,7 @@ flash_ok_885:
3004 if (atp870u_init_tables(shpnt) < 0) 3004 if (atp870u_init_tables(shpnt) < 0)
3005 goto unregister; 3005 goto unregister;
3006 3006
3007 if (request_irq(pdev->irq, atp870u_intr_handle, SA_SHIRQ, "atp870i", shpnt)) { 3007 if (request_irq(pdev->irq, atp870u_intr_handle, IRQF_SHARED, "atp870i", shpnt)) {
3008 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq); 3008 printk(KERN_ERR "Unable to allocate IRQ%d for Acard controller.\n", pdev->irq);
3009 goto free_tables; 3009 goto free_tables;
3010 } 3010 }
diff --git a/drivers/scsi/blz1230.c b/drivers/scsi/blz1230.c
index 3867ac2de4c2..329a8f297b31 100644
--- a/drivers/scsi/blz1230.c
+++ b/drivers/scsi/blz1230.c
@@ -172,7 +172,7 @@ int __init blz1230_esp_detect(struct scsi_host_template *tpnt)
172 172
173 esp->irq = IRQ_AMIGA_PORTS; 173 esp->irq = IRQ_AMIGA_PORTS;
174 esp->slot = board+REAL_BLZ1230_ESP_ADDR; 174 esp->slot = board+REAL_BLZ1230_ESP_ADDR;
175 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 175 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
176 "Blizzard 1230 SCSI IV", esp->ehost)) 176 "Blizzard 1230 SCSI IV", esp->ehost))
177 goto err_out; 177 goto err_out;
178 178
diff --git a/drivers/scsi/blz2060.c b/drivers/scsi/blz2060.c
index 4ebe69e32756..b6c137b97350 100644
--- a/drivers/scsi/blz2060.c
+++ b/drivers/scsi/blz2060.c
@@ -146,7 +146,7 @@ int __init blz2060_esp_detect(struct scsi_host_template *tpnt)
146 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer); 146 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer);
147 147
148 esp->irq = IRQ_AMIGA_PORTS; 148 esp->irq = IRQ_AMIGA_PORTS;
149 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 149 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
150 "Blizzard 2060 SCSI", esp->ehost); 150 "Blizzard 2060 SCSI", esp->ehost);
151 151
152 /* Figure out our scsi ID on the bus */ 152 /* Figure out our scsi ID on the bus */
diff --git a/drivers/scsi/cyberstorm.c b/drivers/scsi/cyberstorm.c
index a4a4fac5c0a1..7c7cfb54e897 100644
--- a/drivers/scsi/cyberstorm.c
+++ b/drivers/scsi/cyberstorm.c
@@ -172,7 +172,7 @@ int __init cyber_esp_detect(struct scsi_host_template *tpnt)
172 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer); 172 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer);
173 173
174 esp->irq = IRQ_AMIGA_PORTS; 174 esp->irq = IRQ_AMIGA_PORTS;
175 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 175 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
176 "CyberStorm SCSI", esp->ehost); 176 "CyberStorm SCSI", esp->ehost);
177 /* Figure out our scsi ID on the bus */ 177 /* Figure out our scsi ID on the bus */
178 /* The DMA cond flag contains a hardcoded jumper bit 178 /* The DMA cond flag contains a hardcoded jumper bit
diff --git a/drivers/scsi/cyberstormII.c b/drivers/scsi/cyberstormII.c
index 3a803d73bc5f..d88cb9cf091e 100644
--- a/drivers/scsi/cyberstormII.c
+++ b/drivers/scsi/cyberstormII.c
@@ -153,7 +153,7 @@ int __init cyberII_esp_detect(struct scsi_host_template *tpnt)
153 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer); 153 esp->esp_command_dvma = virt_to_bus((void *)cmd_buffer);
154 154
155 esp->irq = IRQ_AMIGA_PORTS; 155 esp->irq = IRQ_AMIGA_PORTS;
156 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 156 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
157 "CyberStorm SCSI Mk II", esp->ehost); 157 "CyberStorm SCSI Mk II", esp->ehost);
158 158
159 /* Figure out our scsi ID on the bus */ 159 /* Figure out our scsi ID on the bus */
diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
index 58b0748045ee..ff2b1796fa34 100644
--- a/drivers/scsi/dc395x.c
+++ b/drivers/scsi/dc395x.c
@@ -4562,7 +4562,7 @@ static int __devinit adapter_init(struct AdapterCtlBlk *acb,
4562 acb->io_port_base = io_port; 4562 acb->io_port_base = io_port;
4563 acb->io_port_len = io_port_len; 4563 acb->io_port_len = io_port_len;
4564 4564
4565 if (request_irq(irq, dc395x_interrupt, SA_SHIRQ, DC395X_NAME, acb)) { 4565 if (request_irq(irq, dc395x_interrupt, IRQF_SHARED, DC395X_NAME, acb)) {
4566 /* release the region we just claimed */ 4566 /* release the region we just claimed */
4567 dprintkl(KERN_INFO, "Failed to register IRQ\n"); 4567 dprintkl(KERN_INFO, "Failed to register IRQ\n");
4568 goto failed; 4568 goto failed;
diff --git a/drivers/scsi/dec_esp.c b/drivers/scsi/dec_esp.c
index a35ee43a48df..eb32062f7e68 100644
--- a/drivers/scsi/dec_esp.c
+++ b/drivers/scsi/dec_esp.c
@@ -202,19 +202,19 @@ static int dec_esp_detect(struct scsi_host_template * tpnt)
202 202
203 esp_initialize(esp); 203 esp_initialize(esp);
204 204
205 if (request_irq(esp->irq, esp_intr, SA_INTERRUPT, 205 if (request_irq(esp->irq, esp_intr, IRQF_DISABLED,
206 "ncr53c94", esp->ehost)) 206 "ncr53c94", esp->ehost))
207 goto err_dealloc; 207 goto err_dealloc;
208 if (request_irq(dec_interrupt[DEC_IRQ_ASC_MERR], 208 if (request_irq(dec_interrupt[DEC_IRQ_ASC_MERR],
209 scsi_dma_merr_int, SA_INTERRUPT, 209 scsi_dma_merr_int, IRQF_DISABLED,
210 "ncr53c94 error", esp->ehost)) 210 "ncr53c94 error", esp->ehost))
211 goto err_free_irq; 211 goto err_free_irq;
212 if (request_irq(dec_interrupt[DEC_IRQ_ASC_ERR], 212 if (request_irq(dec_interrupt[DEC_IRQ_ASC_ERR],
213 scsi_dma_err_int, SA_INTERRUPT, 213 scsi_dma_err_int, IRQF_DISABLED,
214 "ncr53c94 overrun", esp->ehost)) 214 "ncr53c94 overrun", esp->ehost))
215 goto err_free_irq_merr; 215 goto err_free_irq_merr;
216 if (request_irq(dec_interrupt[DEC_IRQ_ASC_DMA], 216 if (request_irq(dec_interrupt[DEC_IRQ_ASC_DMA],
217 scsi_dma_int, SA_INTERRUPT, 217 scsi_dma_int, IRQF_DISABLED,
218 "ncr53c94 dma", esp->ehost)) 218 "ncr53c94 dma", esp->ehost))
219 goto err_free_irq_err; 219 goto err_free_irq_err;
220 220
@@ -276,7 +276,7 @@ static int dec_esp_detect(struct scsi_host_template * tpnt)
276 esp->dma_mmu_release_scsi_sgl = 0; 276 esp->dma_mmu_release_scsi_sgl = 0;
277 esp->dma_advance_sg = 0; 277 esp->dma_advance_sg = 0;
278 278
279 if (request_irq(esp->irq, esp_intr, SA_INTERRUPT, 279 if (request_irq(esp->irq, esp_intr, IRQF_DISABLED,
280 "PMAZ_AA", esp->ehost)) { 280 "PMAZ_AA", esp->ehost)) {
281 esp_deallocate(esp); 281 esp_deallocate(esp);
282 release_tc_card(slot); 282 release_tc_card(slot);
diff --git a/drivers/scsi/dmx3191d.c b/drivers/scsi/dmx3191d.c
index 38e4010eff96..879a26657676 100644
--- a/drivers/scsi/dmx3191d.c
+++ b/drivers/scsi/dmx3191d.c
@@ -94,7 +94,7 @@ static int __devinit dmx3191d_probe_one(struct pci_dev *pdev,
94 94
95 NCR5380_init(shost, FLAG_NO_PSEUDO_DMA | FLAG_DTC3181E); 95 NCR5380_init(shost, FLAG_NO_PSEUDO_DMA | FLAG_DTC3181E);
96 96
97 if (request_irq(pdev->irq, NCR5380_intr, SA_SHIRQ, 97 if (request_irq(pdev->irq, NCR5380_intr, IRQF_SHARED,
98 DMX3191D_DRIVER_NAME, shost)) { 98 DMX3191D_DRIVER_NAME, shost)) {
99 /* 99 /*
100 * Steam powered scsi controllers run without an IRQ anyway 100 * Steam powered scsi controllers run without an IRQ anyway
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index b1b704a42efd..e1337339cacc 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -1009,7 +1009,7 @@ static int adpt_install_hba(struct scsi_host_template* sht, struct pci_dev* pDev
1009 printk(KERN_INFO" BAR1 %p - size= %x\n",msg_addr_virt,hba_map1_area_size); 1009 printk(KERN_INFO" BAR1 %p - size= %x\n",msg_addr_virt,hba_map1_area_size);
1010 } 1010 }
1011 1011
1012 if (request_irq (pDev->irq, adpt_isr, SA_SHIRQ, pHba->name, pHba)) { 1012 if (request_irq (pDev->irq, adpt_isr, IRQF_SHARED, pHba->name, pHba)) {
1013 printk(KERN_ERR"%s: Couldn't register IRQ %d\n", pHba->name, pDev->irq); 1013 printk(KERN_ERR"%s: Couldn't register IRQ %d\n", pHba->name, pDev->irq);
1014 adpt_i2o_delete_hba(pHba); 1014 adpt_i2o_delete_hba(pHba);
1015 return -EINVAL; 1015 return -EINVAL;
diff --git a/drivers/scsi/dtc.c b/drivers/scsi/dtc.c
index c5108c8c887b..0d5713dfa204 100644
--- a/drivers/scsi/dtc.c
+++ b/drivers/scsi/dtc.c
@@ -280,7 +280,7 @@ found:
280 /* With interrupts enabled, it will sometimes hang when doing heavy 280 /* With interrupts enabled, it will sometimes hang when doing heavy
281 * reads. So better not enable them until I finger it out. */ 281 * reads. So better not enable them until I finger it out. */
282 if (instance->irq != SCSI_IRQ_NONE) 282 if (instance->irq != SCSI_IRQ_NONE)
283 if (request_irq(instance->irq, dtc_intr, SA_INTERRUPT, "dtc", instance)) { 283 if (request_irq(instance->irq, dtc_intr, IRQF_DISABLED, "dtc", instance)) {
284 printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); 284 printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
285 instance->irq = SCSI_IRQ_NONE; 285 instance->irq = SCSI_IRQ_NONE;
286 } 286 }
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 67c419402d8a..a5ff43b1b263 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1221,7 +1221,7 @@ static int port_detect(unsigned long port_base, unsigned int j,
1221 1221
1222 /* Board detected, allocate its IRQ */ 1222 /* Board detected, allocate its IRQ */
1223 if (request_irq(irq, do_interrupt_handler, 1223 if (request_irq(irq, do_interrupt_handler,
1224 SA_INTERRUPT | ((subversion == ESA) ? SA_SHIRQ : 0), 1224 IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
1225 driver_name, (void *)&sha[j])) { 1225 driver_name, (void *)&sha[j])) {
1226 printk("%s: unable to allocate IRQ %u, detaching.\n", name, 1226 printk("%s: unable to allocate IRQ %u, detaching.\n", name,
1227 irq); 1227 irq);
diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c
index d8c9ec21e0ef..771b01984cbc 100644
--- a/drivers/scsi/eata_pio.c
+++ b/drivers/scsi/eata_pio.c
@@ -731,7 +731,7 @@ static int register_pio_HBA(long base, struct get_conf *gc)
731 return 0; 731 return 0;
732 732
733 if (!reg_IRQ[gc->IRQ]) { /* Interrupt already registered ? */ 733 if (!reg_IRQ[gc->IRQ]) { /* Interrupt already registered ? */
734 if (!request_irq(gc->IRQ, do_eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", sh)) { 734 if (!request_irq(gc->IRQ, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", sh)) {
735 reg_IRQ[gc->IRQ]++; 735 reg_IRQ[gc->IRQ]++;
736 if (!gc->IRQ_TR) 736 if (!gc->IRQ_TR)
737 reg_IRQL[gc->IRQ] = 1; /* IRQ is edge triggered */ 737 reg_IRQL[gc->IRQ] = 1; /* IRQ is edge triggered */
@@ -965,7 +965,7 @@ static int eata_pio_detect(struct scsi_host_template *tpnt)
965 965
966 for (i = 0; i <= MAXIRQ; i++) 966 for (i = 0; i <= MAXIRQ; i++)
967 if (reg_IRQ[i]) 967 if (reg_IRQ[i])
968 request_irq(i, do_eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL); 968 request_irq(i, do_eata_pio_int_handler, IRQF_DISABLED, "EATA-PIO", NULL);
969 969
970 HBA_ptr = first_HBA; 970 HBA_ptr = first_HBA;
971 971
diff --git a/drivers/scsi/esp.c b/drivers/scsi/esp.c
index 36c50b61f94d..10573c24a50b 100644
--- a/drivers/scsi/esp.c
+++ b/drivers/scsi/esp.c
@@ -778,7 +778,7 @@ static int __init esp_register_irq(struct esp *esp)
778 * sanely maintain. 778 * sanely maintain.
779 */ 779 */
780 if (request_irq(esp->ehost->irq, esp_intr, 780 if (request_irq(esp->ehost->irq, esp_intr,
781 SA_SHIRQ, "ESP SCSI", esp)) { 781 IRQF_SHARED, "ESP SCSI", esp)) {
782 printk("esp%d: Cannot acquire irq line\n", 782 printk("esp%d: Cannot acquire irq line\n",
783 esp->esp_id); 783 esp->esp_id);
784 return -1; 784 return -1;
diff --git a/drivers/scsi/fastlane.c b/drivers/scsi/fastlane.c
index 8ae9c406a83b..2a1c5c22b9e0 100644
--- a/drivers/scsi/fastlane.c
+++ b/drivers/scsi/fastlane.c
@@ -210,7 +210,7 @@ int __init fastlane_esp_detect(struct scsi_host_template *tpnt)
210 210
211 esp->irq = IRQ_AMIGA_PORTS; 211 esp->irq = IRQ_AMIGA_PORTS;
212 esp->slot = board+FASTLANE_ESP_ADDR; 212 esp->slot = board+FASTLANE_ESP_ADDR;
213 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 213 if (request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
214 "Fastlane SCSI", esp->ehost)) { 214 "Fastlane SCSI", esp->ehost)) {
215 printk(KERN_WARNING "Fastlane: Could not get IRQ%d, aborting.\n", IRQ_AMIGA_PORTS); 215 printk(KERN_WARNING "Fastlane: Could not get IRQ%d, aborting.\n", IRQ_AMIGA_PORTS);
216 goto err_unmap; 216 goto err_unmap;
diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c
index 70a1606bd580..dde3edf35c03 100644
--- a/drivers/scsi/fd_mcs.c
+++ b/drivers/scsi/fd_mcs.c
@@ -400,7 +400,7 @@ static int fd_mcs_detect(struct scsi_host_template * tpnt)
400 mca_set_adapter_name(slot - 1, fd_mcs_adapters[loop].name); 400 mca_set_adapter_name(slot - 1, fd_mcs_adapters[loop].name);
401 401
402 /* check irq/region */ 402 /* check irq/region */
403 if (request_irq(irq, fd_mcs_intr, SA_SHIRQ, "fd_mcs", hosts)) { 403 if (request_irq(irq, fd_mcs_intr, IRQF_SHARED, "fd_mcs", hosts)) {
404 printk(KERN_ERR "fd_mcs: interrupt is not available, skipping...\n"); 404 printk(KERN_ERR "fd_mcs: interrupt is not available, skipping...\n");
405 continue; 405 continue;
406 } 406 }
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index 03356887202d..b0694dcce246 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -949,7 +949,7 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt )
949 /* Register the IRQ with the kernel */ 949 /* Register the IRQ with the kernel */
950 950
951 retcode = request_irq( interrupt_level, 951 retcode = request_irq( interrupt_level,
952 do_fdomain_16x0_intr, pdev?SA_SHIRQ:0, "fdomain", shpnt); 952 do_fdomain_16x0_intr, pdev?IRQF_SHARED:0, "fdomain", shpnt);
953 953
954 if (retcode < 0) { 954 if (retcode < 0) {
955 if (retcode == -EINVAL) { 955 if (retcode == -EINVAL) {
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index fbc8e16c8d15..67f1100f3103 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -461,7 +461,7 @@ int __init generic_NCR5380_detect(struct scsi_host_template * tpnt)
461 instance->irq = NCR5380_probe_irq(instance, 0xffff); 461 instance->irq = NCR5380_probe_irq(instance, 0xffff);
462 462
463 if (instance->irq != SCSI_IRQ_NONE) 463 if (instance->irq != SCSI_IRQ_NONE)
464 if (request_irq(instance->irq, generic_NCR5380_intr, SA_INTERRUPT, "NCR5380", instance)) { 464 if (request_irq(instance->irq, generic_NCR5380_intr, IRQF_DISABLED, "NCR5380", instance)) {
465 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); 465 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
466 instance->irq = SCSI_IRQ_NONE; 466 instance->irq = SCSI_IRQ_NONE;
467 } 467 }
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 76071a158306..43afd476e606 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -4350,7 +4350,7 @@ static int __init gdth_detect(Scsi_Host_Template *shtp)
4350 printk("Configuring GDT-ISA HA at BIOS 0x%05X IRQ %u DRQ %u\n", 4350 printk("Configuring GDT-ISA HA at BIOS 0x%05X IRQ %u DRQ %u\n",
4351 isa_bios,ha->irq,ha->drq); 4351 isa_bios,ha->irq,ha->drq);
4352 4352
4353 if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) { 4353 if (request_irq(ha->irq,gdth_interrupt,IRQF_DISABLED,"gdth",ha)) {
4354 printk("GDT-ISA: Unable to allocate IRQ\n"); 4354 printk("GDT-ISA: Unable to allocate IRQ\n");
4355 scsi_unregister(shp); 4355 scsi_unregister(shp);
4356 continue; 4356 continue;
@@ -4476,7 +4476,7 @@ static int __init gdth_detect(Scsi_Host_Template *shtp)
4476 printk("Configuring GDT-EISA HA at Slot %d IRQ %u\n", 4476 printk("Configuring GDT-EISA HA at Slot %d IRQ %u\n",
4477 eisa_slot>>12,ha->irq); 4477 eisa_slot>>12,ha->irq);
4478 4478
4479 if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) { 4479 if (request_irq(ha->irq,gdth_interrupt,IRQF_DISABLED,"gdth",ha)) {
4480 printk("GDT-EISA: Unable to allocate IRQ\n"); 4480 printk("GDT-EISA: Unable to allocate IRQ\n");
4481 scsi_unregister(shp); 4481 scsi_unregister(shp);
4482 continue; 4482 continue;
@@ -4603,7 +4603,7 @@ static int __init gdth_detect(Scsi_Host_Template *shtp)
4603 pcistr[ctr].bus,PCI_SLOT(pcistr[ctr].device_fn),ha->irq); 4603 pcistr[ctr].bus,PCI_SLOT(pcistr[ctr].device_fn),ha->irq);
4604 4604
4605 if (request_irq(ha->irq, gdth_interrupt, 4605 if (request_irq(ha->irq, gdth_interrupt,
4606 SA_INTERRUPT|SA_SHIRQ, "gdth", ha)) 4606 IRQF_DISABLED|IRQF_SHARED, "gdth", ha))
4607 { 4607 {
4608 printk("GDT-PCI: Unable to allocate IRQ\n"); 4608 printk("GDT-PCI: Unable to allocate IRQ\n");
4609 scsi_unregister(shp); 4609 scsi_unregister(shp);
diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c
index 5b154498056d..a0d831b1bada 100644
--- a/drivers/scsi/gvp11.c
+++ b/drivers/scsi/gvp11.c
@@ -328,7 +328,7 @@ int __init gvp11_detect(struct scsi_host_template *tpnt)
328 (epc & GVP_SCSICLKMASK) ? WD33C93_FS_8_10 328 (epc & GVP_SCSICLKMASK) ? WD33C93_FS_8_10
329 : WD33C93_FS_12_15); 329 : WD33C93_FS_12_15);
330 330
331 request_irq(IRQ_AMIGA_PORTS, gvp11_intr, SA_SHIRQ, "GVP11 SCSI", 331 request_irq(IRQ_AMIGA_PORTS, gvp11_intr, IRQF_SHARED, "GVP11 SCSI",
332 instance); 332 instance);
333 DMA(instance)->CNTR = GVP11_DMAC_INT_ENABLE; 333 DMA(instance)->CNTR = GVP11_DMAC_INT_ENABLE;
334 num_gvp11++; 334 num_gvp11++;
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
index f77808329e7c..ab2f8b267908 100644
--- a/drivers/scsi/hptiop.c
+++ b/drivers/scsi/hptiop.c
@@ -1304,7 +1304,7 @@ static int __devinit hptiop_probe(struct pci_dev *pcidev,
1304 1304
1305 pci_set_drvdata(pcidev, host); 1305 pci_set_drvdata(pcidev, host);
1306 1306
1307 if (request_irq(pcidev->irq, hptiop_intr, SA_SHIRQ, 1307 if (request_irq(pcidev->irq, hptiop_intr, IRQF_SHARED,
1308 driver_name, hba)) { 1308 driver_name, hba)) {
1309 printk(KERN_ERR "scsi%d: request irq %d failed\n", 1309 printk(KERN_ERR "scsi%d: request irq %d failed\n",
1310 hba->host->host_no, pcidev->irq); 1310 hba->host->host_no, pcidev->irq);
diff --git a/drivers/scsi/ibmmca.c b/drivers/scsi/ibmmca.c
index 1cbc94842cc6..2be1dc5d852a 100644
--- a/drivers/scsi/ibmmca.c
+++ b/drivers/scsi/ibmmca.c
@@ -1510,7 +1510,7 @@ int ibmmca_detect(struct scsi_host_template * scsi_template)
1510#endif 1510#endif
1511 1511
1512 /* get interrupt request level */ 1512 /* get interrupt request level */
1513 if (request_irq(IM_IRQ, interrupt_handler, SA_SHIRQ, "ibmmcascsi", hosts)) { 1513 if (request_irq(IM_IRQ, interrupt_handler, IRQF_SHARED, "ibmmcascsi", hosts)) {
1514 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ); 1514 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ);
1515 return 0; 1515 return 0;
1516 } else 1516 } else
@@ -1635,7 +1635,7 @@ int ibmmca_detect(struct scsi_host_template * scsi_template)
1635 /* IRQ11 is used by SCSI-2 F/W Adapter/A */ 1635 /* IRQ11 is used by SCSI-2 F/W Adapter/A */
1636 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n"); 1636 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n");
1637 /* get interrupt request level */ 1637 /* get interrupt request level */
1638 if (request_irq(IM_IRQ_FW, interrupt_handler, SA_SHIRQ, "ibmmcascsi", hosts)) { 1638 if (request_irq(IM_IRQ_FW, interrupt_handler, IRQF_SHARED, "ibmmcascsi", hosts)) {
1639 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW); 1639 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW);
1640 } else 1640 } else
1641 IRQ11_registered++; 1641 IRQ11_registered++;
@@ -1696,7 +1696,7 @@ int ibmmca_detect(struct scsi_host_template * scsi_template)
1696 /* IRQ11 is used by SCSI-2 F/W Adapter/A */ 1696 /* IRQ11 is used by SCSI-2 F/W Adapter/A */
1697 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n"); 1697 printk(KERN_DEBUG "IBM MCA SCSI: SCSI-2 F/W adapter needs IRQ 11.\n");
1698 /* get interrupt request level */ 1698 /* get interrupt request level */
1699 if (request_irq(IM_IRQ_FW, interrupt_handler, SA_SHIRQ, "ibmmcascsi", hosts)) 1699 if (request_irq(IM_IRQ_FW, interrupt_handler, IRQF_SHARED, "ibmmcascsi", hosts))
1700 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW); 1700 printk(KERN_ERR "IBM MCA SCSI: Unable to get shared IRQ %d.\n", IM_IRQ_FW);
1701 else 1701 else
1702 IRQ11_registered++; 1702 IRQ11_registered++;
diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
index 883bc92b4d9a..59a4097f1254 100644
--- a/drivers/scsi/in2000.c
+++ b/drivers/scsi/in2000.c
@@ -2015,7 +2015,7 @@ static int __init in2000_detect(struct scsi_host_template * tpnt)
2015 write1_io(0, IO_FIFO_READ); /* start fifo out in read mode */ 2015 write1_io(0, IO_FIFO_READ); /* start fifo out in read mode */
2016 write1_io(0, IO_INTR_MASK); /* allow all ints */ 2016 write1_io(0, IO_INTR_MASK); /* allow all ints */
2017 x = int_tab[(switches & (SW_INT0 | SW_INT1)) >> SW_INT_SHIFT]; 2017 x = int_tab[(switches & (SW_INT0 | SW_INT1)) >> SW_INT_SHIFT];
2018 if (request_irq(x, in2000_intr, SA_INTERRUPT, "in2000", instance)) { 2018 if (request_irq(x, in2000_intr, IRQF_DISABLED, "in2000", instance)) {
2019 printk("in2000_detect: Unable to allocate IRQ.\n"); 2019 printk("in2000_detect: Unable to allocate IRQ.\n");
2020 detect_count--; 2020 detect_count--;
2021 continue; 2021 continue;
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index 43acb1fe90b4..9e10dac61cfd 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2867,7 +2867,7 @@ static int i91u_detect(struct scsi_host_template * tpnt)
2867 hreg->sg_tablesize = TOTAL_SG_ENTRY; /* Maximun support is 32 */ 2867 hreg->sg_tablesize = TOTAL_SG_ENTRY; /* Maximun support is 32 */
2868 2868
2869 /* Initial tulip chip */ 2869 /* Initial tulip chip */
2870 ok = request_irq(pHCB->HCS_Intr, i91u_intr, SA_INTERRUPT | SA_SHIRQ, "i91u", hreg); 2870 ok = request_irq(pHCB->HCS_Intr, i91u_intr, IRQF_DISABLED | IRQF_SHARED, "i91u", hreg);
2871 if (ok < 0) { 2871 if (ok < 0) {
2872 printk(KERN_WARNING "i91u: unable to request IRQ %d\n\n", pHCB->HCS_Intr); 2872 printk(KERN_WARNING "i91u: unable to request IRQ %d\n\n", pHCB->HCS_Intr);
2873 return 0; 2873 return 0;
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index e19bf690cdf1..01080b3acf5e 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -6428,7 +6428,7 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev,
6428 ioa_cfg->needs_hard_reset = 1; 6428 ioa_cfg->needs_hard_reset = 1;
6429 6429
6430 ipr_mask_and_clear_interrupts(ioa_cfg, ~IPR_PCII_IOA_TRANS_TO_OPER); 6430 ipr_mask_and_clear_interrupts(ioa_cfg, ~IPR_PCII_IOA_TRANS_TO_OPER);
6431 rc = request_irq(pdev->irq, ipr_isr, SA_SHIRQ, IPR_NAME, ioa_cfg); 6431 rc = request_irq(pdev->irq, ipr_isr, IRQF_SHARED, IPR_NAME, ioa_cfg);
6432 6432
6433 if (rc) { 6433 if (rc) {
6434 dev_err(&pdev->dev, "Couldn't register IRQ %d! rc=%d\n", 6434 dev_err(&pdev->dev, "Couldn't register IRQ %d! rc=%d\n",
diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index 7436793c3ad3..3c639286ec1e 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -7007,7 +7007,7 @@ ips_register_scsi(int index)
7007 memcpy(ha, oldha, sizeof (ips_ha_t)); 7007 memcpy(ha, oldha, sizeof (ips_ha_t));
7008 free_irq(oldha->irq, oldha); 7008 free_irq(oldha->irq, oldha);
7009 /* Install the interrupt handler with the new ha */ 7009 /* Install the interrupt handler with the new ha */
7010 if (request_irq(ha->irq, do_ipsintr, SA_SHIRQ, ips_name, ha)) { 7010 if (request_irq(ha->irq, do_ipsintr, IRQF_SHARED, ips_name, ha)) {
7011 IPS_PRINTK(KERN_WARNING, ha->pcidev, 7011 IPS_PRINTK(KERN_WARNING, ha->pcidev,
7012 "Unable to install interrupt handler\n"); 7012 "Unable to install interrupt handler\n");
7013 scsi_host_put(sh); 7013 scsi_host_put(sh);
@@ -7419,7 +7419,7 @@ ips_init_phase2(int index)
7419 } 7419 }
7420 7420
7421 /* Install the interrupt handler */ 7421 /* Install the interrupt handler */
7422 if (request_irq(ha->irq, do_ipsintr, SA_SHIRQ, ips_name, ha)) { 7422 if (request_irq(ha->irq, do_ipsintr, IRQF_SHARED, ips_name, ha)) {
7423 IPS_PRINTK(KERN_WARNING, ha->pcidev, 7423 IPS_PRINTK(KERN_WARNING, ha->pcidev,
7424 "Unable to install interrupt handler\n"); 7424 "Unable to install interrupt handler\n");
7425 return ips_abort_init(ha, index); 7425 return ips_abort_init(ha, index);
diff --git a/drivers/scsi/jazz_esp.c b/drivers/scsi/jazz_esp.c
index fc031c76dade..3fd8a96f2af3 100644
--- a/drivers/scsi/jazz_esp.c
+++ b/drivers/scsi/jazz_esp.c
@@ -131,7 +131,7 @@ static int jazz_esp_detect(struct scsi_host_template *tpnt)
131 esp->esp_command_dvma = vdma_alloc(CPHYSADDR(cmd_buffer), sizeof (cmd_buffer)); 131 esp->esp_command_dvma = vdma_alloc(CPHYSADDR(cmd_buffer), sizeof (cmd_buffer));
132 132
133 esp->irq = JAZZ_SCSI_IRQ; 133 esp->irq = JAZZ_SCSI_IRQ;
134 request_irq(JAZZ_SCSI_IRQ, esp_intr, SA_INTERRUPT, "JAZZ SCSI", 134 request_irq(JAZZ_SCSI_IRQ, esp_intr, IRQF_DISABLED, "JAZZ SCSI",
135 esp->ehost); 135 esp->ehost);
136 136
137 /* 137 /*
diff --git a/drivers/scsi/lasi700.c b/drivers/scsi/lasi700.c
index eb7bd310cc82..f0871c3ac3d9 100644
--- a/drivers/scsi/lasi700.c
+++ b/drivers/scsi/lasi700.c
@@ -131,7 +131,7 @@ lasi700_probe(struct parisc_device *dev)
131 host->this_id = 7; 131 host->this_id = 7;
132 host->base = base; 132 host->base = base;
133 host->irq = dev->irq; 133 host->irq = dev->irq;
134 if(request_irq(dev->irq, NCR_700_intr, SA_SHIRQ, "lasi700", host)) { 134 if(request_irq(dev->irq, NCR_700_intr, IRQF_SHARED, "lasi700", host)) {
135 printk(KERN_ERR "lasi700: request_irq failed!\n"); 135 printk(KERN_ERR "lasi700: request_irq failed!\n");
136 goto out_put_host; 136 goto out_put_host;
137 } 137 }
diff --git a/drivers/scsi/libata-bmdma.c b/drivers/scsi/libata-bmdma.c
index 38bfebf4fe8f..9ce221f25954 100644
--- a/drivers/scsi/libata-bmdma.c
+++ b/drivers/scsi/libata-bmdma.c
@@ -853,7 +853,7 @@ ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port, int
853 return NULL; 853 return NULL;
854 854
855 probe_ent->irq = pdev->irq; 855 probe_ent->irq = pdev->irq;
856 probe_ent->irq_flags = SA_SHIRQ; 856 probe_ent->irq_flags = IRQF_SHARED;
857 probe_ent->private_data = port[0]->private_data; 857 probe_ent->private_data = port[0]->private_data;
858 858
859 if (ports & ATA_PORT_PRIMARY) { 859 if (ports & ATA_PORT_PRIMARY) {
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 908d0f27706f..5a28d9bf8e4d 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -1620,7 +1620,7 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid)
1620 if (error) 1620 if (error)
1621 goto out_remove_host; 1621 goto out_remove_host;
1622 1622
1623 error = request_irq(phba->pcidev->irq, lpfc_intr_handler, SA_SHIRQ, 1623 error = request_irq(phba->pcidev->irq, lpfc_intr_handler, IRQF_SHARED,
1624 LPFC_DRIVER_NAME, phba); 1624 LPFC_DRIVER_NAME, phba);
1625 if (error) { 1625 if (error) {
1626 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, 1626 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 5d2cefb5e52d..76edbb639d37 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -4714,7 +4714,7 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
4714 4714
4715 if (request_irq(irq, (adapter->flag & BOARD_MEMMAP) ? 4715 if (request_irq(irq, (adapter->flag & BOARD_MEMMAP) ?
4716 megaraid_isr_memmapped : megaraid_isr_iomapped, 4716 megaraid_isr_memmapped : megaraid_isr_iomapped,
4717 SA_SHIRQ, "megaraid", adapter)) { 4717 IRQF_SHARED, "megaraid", adapter)) {
4718 printk(KERN_WARNING 4718 printk(KERN_WARNING
4719 "megaraid: Couldn't register IRQ %d!\n", irq); 4719 "megaraid: Couldn't register IRQ %d!\n", irq);
4720 goto out_free_scb_list; 4720 goto out_free_scb_list;
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
index b7caf60638e8..92715130ac09 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -767,7 +767,7 @@ megaraid_init_mbox(adapter_t *adapter)
767 // 767 //
768 768
769 // request IRQ and register the interrupt service routine 769 // request IRQ and register the interrupt service routine
770 if (request_irq(adapter->irq, megaraid_isr, SA_SHIRQ, "megaraid", 770 if (request_irq(adapter->irq, megaraid_isr, IRQF_SHARED, "megaraid",
771 adapter)) { 771 adapter)) {
772 772
773 con_log(CL_ANN, (KERN_WARNING 773 con_log(CL_ANN, (KERN_WARNING
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index 0c9516ff636f..e5c017ccda59 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -2191,7 +2191,7 @@ megasas_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
2191 /* 2191 /*
2192 * Register IRQ 2192 * Register IRQ
2193 */ 2193 */
2194 if (request_irq(pdev->irq, megasas_isr, SA_SHIRQ, "megasas", instance)) { 2194 if (request_irq(pdev->irq, megasas_isr, IRQF_SHARED, "megasas", instance)) {
2195 printk(KERN_DEBUG "megasas: Failed to register IRQ\n"); 2195 printk(KERN_DEBUG "megasas: Failed to register IRQ\n");
2196 goto fail_irq; 2196 goto fail_irq;
2197 } 2197 }
diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
index 5c55e152e718..bd337a914298 100644
--- a/drivers/scsi/nsp32.c
+++ b/drivers/scsi/nsp32.c
@@ -2867,7 +2867,7 @@ static int nsp32_detect(struct scsi_host_template *sht)
2867 nsp32_do_bus_reset(data); 2867 nsp32_do_bus_reset(data);
2868 2868
2869 ret = request_irq(host->irq, do_nsp32_isr, 2869 ret = request_irq(host->irq, do_nsp32_isr,
2870 SA_SHIRQ | SA_SAMPLE_RANDOM, "nsp32", data); 2870 IRQF_SHARED | IRQF_SAMPLE_RANDOM, "nsp32", data);
2871 if (ret < 0) { 2871 if (ret < 0) {
2872 nsp32_msg(KERN_ERR, "Unable to allocate IRQ for NinjaSCSI32 " 2872 nsp32_msg(KERN_ERR, "Unable to allocate IRQ for NinjaSCSI32 "
2873 "SCSI PCI controller. Interrupt: %d", host->irq); 2873 "SCSI PCI controller. Interrupt: %d", host->irq);
diff --git a/drivers/scsi/oktagon_esp.c b/drivers/scsi/oktagon_esp.c
index d7a0bcc6c670..dd67a68c5c23 100644
--- a/drivers/scsi/oktagon_esp.c
+++ b/drivers/scsi/oktagon_esp.c
@@ -197,7 +197,7 @@ int oktagon_esp_detect(struct scsi_host_template *tpnt)
197 esp->esp_command_dvma = (__u32) cmd_buffer; 197 esp->esp_command_dvma = (__u32) cmd_buffer;
198 198
199 esp->irq = IRQ_AMIGA_PORTS; 199 esp->irq = IRQ_AMIGA_PORTS;
200 request_irq(IRQ_AMIGA_PORTS, esp_intr, SA_SHIRQ, 200 request_irq(IRQ_AMIGA_PORTS, esp_intr, IRQF_SHARED,
201 "BSC Oktagon SCSI", esp->ehost); 201 "BSC Oktagon SCSI", esp->ehost);
202 202
203 /* Figure out our scsi ID on the bus */ 203 /* Figure out our scsi ID on the bus */
diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c
index 1bf96ed8f935..1434209a8ac5 100644
--- a/drivers/scsi/pas16.c
+++ b/drivers/scsi/pas16.c
@@ -454,7 +454,7 @@ int __init pas16_detect(struct scsi_host_template * tpnt)
454 instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS); 454 instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS);
455 455
456 if (instance->irq != SCSI_IRQ_NONE) 456 if (instance->irq != SCSI_IRQ_NONE)
457 if (request_irq(instance->irq, pas16_intr, SA_INTERRUPT, "pas16", instance)) { 457 if (request_irq(instance->irq, pas16_intr, IRQF_DISABLED, "pas16", instance)) {
458 printk("scsi%d : IRQ%d not free, interrupts disabled\n", 458 printk("scsi%d : IRQ%d not free, interrupts disabled\n",
459 instance->host_no, instance->irq); 459 instance->host_no, instance->irq);
460 instance->irq = SCSI_IRQ_NONE; 460 instance->irq = SCSI_IRQ_NONE;
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index 231f9c311c69..7ff5851c040b 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -1623,7 +1623,7 @@ static int nsp_cs_probe(struct pcmcia_device *link)
1623 /* Interrupt handler */ 1623 /* Interrupt handler */
1624 link->irq.Handler = &nspintr; 1624 link->irq.Handler = &nspintr;
1625 link->irq.Instance = info; 1625 link->irq.Instance = info;
1626 link->irq.Attributes |= (SA_SHIRQ | SA_SAMPLE_RANDOM); 1626 link->irq.Attributes |= (IRQF_SHARED | IRQF_SAMPLE_RANDOM);
1627 1627
1628 /* General socket configuration */ 1628 /* General socket configuration */
1629 link->conf.Attributes = CONF_ENABLE_IRQ; 1629 link->conf.Attributes = CONF_ENABLE_IRQ;
diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c b/drivers/scsi/pcmcia/sym53c500_cs.c
index 9f59827707f0..0b65099acb1a 100644
--- a/drivers/scsi/pcmcia/sym53c500_cs.c
+++ b/drivers/scsi/pcmcia/sym53c500_cs.c
@@ -799,7 +799,7 @@ next_entry:
799 data = (struct sym53c500_data *)host->hostdata; 799 data = (struct sym53c500_data *)host->hostdata;
800 800
801 if (irq_level > 0) { 801 if (irq_level > 0) {
802 if (request_irq(irq_level, SYM53C500_intr, SA_SHIRQ, "SYM53C500", host)) { 802 if (request_irq(irq_level, SYM53C500_intr, IRQF_SHARED, "SYM53C500", host)) {
803 printk("SYM53C500: unable to allocate IRQ %d\n", irq_level); 803 printk("SYM53C500: unable to allocate IRQ %d\n", irq_level);
804 goto err_free_scsi; 804 goto err_free_scsi;
805 } 805 }
diff --git a/drivers/scsi/pdc_adma.c b/drivers/scsi/pdc_adma.c
index 7ebe8e03aa96..d1f38c32aa15 100644
--- a/drivers/scsi/pdc_adma.c
+++ b/drivers/scsi/pdc_adma.c
@@ -690,7 +690,7 @@ static int adma_ata_init_one(struct pci_dev *pdev,
690 probe_ent->port_ops = adma_port_info[board_idx].port_ops; 690 probe_ent->port_ops = adma_port_info[board_idx].port_ops;
691 691
692 probe_ent->irq = pdev->irq; 692 probe_ent->irq = pdev->irq;
693 probe_ent->irq_flags = SA_SHIRQ; 693 probe_ent->irq_flags = IRQF_SHARED;
694 probe_ent->mmio_base = mmio_base; 694 probe_ent->mmio_base = mmio_base;
695 probe_ent->n_ports = ADMA_PORTS; 695 probe_ent->n_ports = ADMA_PORTS;
696 696
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
index a7e4183462b8..b818b9bfe678 100644
--- a/drivers/scsi/qla1280.c
+++ b/drivers/scsi/qla1280.c
@@ -192,7 +192,7 @@
192 - Don't walk the entire list in qla1280_putq_t() just to directly 192 - Don't walk the entire list in qla1280_putq_t() just to directly
193 grab the pointer to the last element afterwards 193 grab the pointer to the last element afterwards
194 Rev 3.23.5 Beta August 9, 2001, Jes Sorensen 194 Rev 3.23.5 Beta August 9, 2001, Jes Sorensen
195 - Don't use SA_INTERRUPT, it's use is deprecated for this kinda driver 195 - Don't use IRQF_DISABLED, it's use is deprecated for this kinda driver
196 Rev 3.23.4 Beta August 8, 2001, Jes Sorensen 196 Rev 3.23.4 Beta August 8, 2001, Jes Sorensen
197 - Set dev->max_sectors to 1024 197 - Set dev->max_sectors to 1024
198 Rev 3.23.3 Beta August 6, 2001, Jes Sorensen 198 Rev 3.23.3 Beta August 6, 2001, Jes Sorensen
@@ -4369,7 +4369,7 @@ qla1280_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
4369 /* Disable ISP interrupts. */ 4369 /* Disable ISP interrupts. */
4370 qla1280_disable_intrs(ha); 4370 qla1280_disable_intrs(ha);
4371 4371
4372 if (request_irq(pdev->irq, qla1280_intr_handler, SA_SHIRQ, 4372 if (request_irq(pdev->irq, qla1280_intr_handler, IRQF_SHARED,
4373 "qla1280", ha)) { 4373 "qla1280", ha)) {
4374 printk("qla1280 : Failed to reserve interrupt %d already " 4374 printk("qla1280 : Failed to reserve interrupt %d already "
4375 "in use\n", pdev->irq); 4375 "in use\n", pdev->irq);
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index ccaad0b08d35..93062593ebe7 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -1541,7 +1541,7 @@ static int qla2x00_probe_one(struct pci_dev *pdev)
1541 host->transportt = qla2xxx_transport_template; 1541 host->transportt = qla2xxx_transport_template;
1542 1542
1543 ret = request_irq(pdev->irq, ha->isp_ops.intr_handler, 1543 ret = request_irq(pdev->irq, ha->isp_ops.intr_handler,
1544 SA_INTERRUPT|SA_SHIRQ, QLA2XXX_DRIVER_NAME, ha); 1544 IRQF_DISABLED|IRQF_SHARED, QLA2XXX_DRIVER_NAME, ha);
1545 if (ret) { 1545 if (ret) {
1546 qla_printk(KERN_WARNING, ha, 1546 qla_printk(KERN_WARNING, ha,
1547 "Failed to reserve interrupt %d already in use.\n", 1547 "Failed to reserve interrupt %d already in use.\n",
diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index 329ead263714..69e0551a81d2 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -718,7 +718,7 @@ static int __init qpti_register_irq(struct qlogicpti *qpti)
718 * sanely maintain. 718 * sanely maintain.
719 */ 719 */
720 if (request_irq(qpti->irq, qpti_intr, 720 if (request_irq(qpti->irq, qpti_intr,
721 SA_SHIRQ, "Qlogic/PTI", qpti)) 721 IRQF_SHARED, "Qlogic/PTI", qpti))
722 goto fail; 722 goto fail;
723 723
724 printk("qpti%d: IRQ %d ", qpti->qpti_id, qpti->irq); 724 printk("qpti%d: IRQ %d ", qpti->qpti_id, qpti->irq);
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c
index 4a71578df3c1..1053c7c76b7d 100644
--- a/drivers/scsi/sata_mv.c
+++ b/drivers/scsi/sata_mv.c
@@ -2395,7 +2395,7 @@ static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2395 probe_ent->port_ops = mv_port_info[board_idx].port_ops; 2395 probe_ent->port_ops = mv_port_info[board_idx].port_ops;
2396 2396
2397 probe_ent->irq = pdev->irq; 2397 probe_ent->irq = pdev->irq;
2398 probe_ent->irq_flags = SA_SHIRQ; 2398 probe_ent->irq_flags = IRQF_SHARED;
2399 probe_ent->mmio_base = mmio_base; 2399 probe_ent->mmio_base = mmio_base;
2400 probe_ent->private_data = hpriv; 2400 probe_ent->private_data = hpriv;
2401 2401
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c
index b2b6ed5216e0..64631bd38952 100644
--- a/drivers/scsi/sata_promise.c
+++ b/drivers/scsi/sata_promise.c
@@ -743,7 +743,7 @@ static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
743 probe_ent->port_ops = pdc_port_info[board_idx].port_ops; 743 probe_ent->port_ops = pdc_port_info[board_idx].port_ops;
744 744
745 probe_ent->irq = pdev->irq; 745 probe_ent->irq = pdev->irq;
746 probe_ent->irq_flags = SA_SHIRQ; 746 probe_ent->irq_flags = IRQF_SHARED;
747 probe_ent->mmio_base = mmio_base; 747 probe_ent->mmio_base = mmio_base;
748 748
749 pdc_ata_setup_port(&probe_ent->port[0], base + 0x200); 749 pdc_ata_setup_port(&probe_ent->port[0], base + 0x200);
diff --git a/drivers/scsi/sata_qstor.c b/drivers/scsi/sata_qstor.c
index 98ddc25655f0..d374c1db0cf3 100644
--- a/drivers/scsi/sata_qstor.c
+++ b/drivers/scsi/sata_qstor.c
@@ -680,7 +680,7 @@ static int qs_ata_init_one(struct pci_dev *pdev,
680 probe_ent->port_ops = qs_port_info[board_idx].port_ops; 680 probe_ent->port_ops = qs_port_info[board_idx].port_ops;
681 681
682 probe_ent->irq = pdev->irq; 682 probe_ent->irq = pdev->irq;
683 probe_ent->irq_flags = SA_SHIRQ; 683 probe_ent->irq_flags = IRQF_SHARED;
684 probe_ent->mmio_base = mmio_base; 684 probe_ent->mmio_base = mmio_base;
685 probe_ent->n_ports = QS_PORTS; 685 probe_ent->n_ports = QS_PORTS;
686 686
diff --git a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c
index 51d86d750e84..7aabb45c35e5 100644
--- a/drivers/scsi/sata_sil.c
+++ b/drivers/scsi/sata_sil.c
@@ -608,7 +608,7 @@ static int sil_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
608 probe_ent->mwdma_mask = sil_port_info[ent->driver_data].mwdma_mask; 608 probe_ent->mwdma_mask = sil_port_info[ent->driver_data].mwdma_mask;
609 probe_ent->udma_mask = sil_port_info[ent->driver_data].udma_mask; 609 probe_ent->udma_mask = sil_port_info[ent->driver_data].udma_mask;
610 probe_ent->irq = pdev->irq; 610 probe_ent->irq = pdev->irq;
611 probe_ent->irq_flags = SA_SHIRQ; 611 probe_ent->irq_flags = IRQF_SHARED;
612 probe_ent->host_flags = sil_port_info[ent->driver_data].host_flags; 612 probe_ent->host_flags = sil_port_info[ent->driver_data].host_flags;
613 613
614 mmio_base = pci_iomap(pdev, 5, 0); 614 mmio_base = pci_iomap(pdev, 5, 0);
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c
index b5f8fa955679..07a1c6a8a414 100644
--- a/drivers/scsi/sata_sil24.c
+++ b/drivers/scsi/sata_sil24.c
@@ -1041,7 +1041,7 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1041 probe_ent->n_ports = SIL24_FLAG2NPORTS(pinfo->host_flags); 1041 probe_ent->n_ports = SIL24_FLAG2NPORTS(pinfo->host_flags);
1042 1042
1043 probe_ent->irq = pdev->irq; 1043 probe_ent->irq = pdev->irq;
1044 probe_ent->irq_flags = SA_SHIRQ; 1044 probe_ent->irq_flags = IRQF_SHARED;
1045 probe_ent->mmio_base = port_base; 1045 probe_ent->mmio_base = port_base;
1046 probe_ent->private_data = hpriv; 1046 probe_ent->private_data = hpriv;
1047 1047
diff --git a/drivers/scsi/sata_svw.c b/drivers/scsi/sata_svw.c
index a958b45e597c..7d0858095e1f 100644
--- a/drivers/scsi/sata_svw.c
+++ b/drivers/scsi/sata_svw.c
@@ -428,7 +428,7 @@ static int k2_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
428 probe_ent->port_ops = &k2_sata_ops; 428 probe_ent->port_ops = &k2_sata_ops;
429 probe_ent->n_ports = 4; 429 probe_ent->n_ports = 4;
430 probe_ent->irq = pdev->irq; 430 probe_ent->irq = pdev->irq;
431 probe_ent->irq_flags = SA_SHIRQ; 431 probe_ent->irq_flags = IRQF_SHARED;
432 probe_ent->mmio_base = mmio_base; 432 probe_ent->mmio_base = mmio_base;
433 433
434 /* We don't care much about the PIO/UDMA masks, but the core won't like us 434 /* We don't care much about the PIO/UDMA masks, but the core won't like us
diff --git a/drivers/scsi/sata_sx4.c b/drivers/scsi/sata_sx4.c
index 7f864410f7c2..ccc8cad24f7d 100644
--- a/drivers/scsi/sata_sx4.c
+++ b/drivers/scsi/sata_sx4.c
@@ -1436,7 +1436,7 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
1436 probe_ent->port_ops = pdc_port_info[board_idx].port_ops; 1436 probe_ent->port_ops = pdc_port_info[board_idx].port_ops;
1437 1437
1438 probe_ent->irq = pdev->irq; 1438 probe_ent->irq = pdev->irq;
1439 probe_ent->irq_flags = SA_SHIRQ; 1439 probe_ent->irq_flags = IRQF_SHARED;
1440 probe_ent->mmio_base = mmio_base; 1440 probe_ent->mmio_base = mmio_base;
1441 1441
1442 probe_ent->private_data = hpriv; 1442 probe_ent->private_data = hpriv;
diff --git a/drivers/scsi/sata_via.c b/drivers/scsi/sata_via.c
index 501ce1791782..03baec2191bf 100644
--- a/drivers/scsi/sata_via.c
+++ b/drivers/scsi/sata_via.c
@@ -242,7 +242,7 @@ static struct ata_probe_ent *vt6421_init_probe_ent(struct pci_dev *pdev)
242 probe_ent->port_ops = &svia_sata_ops; 242 probe_ent->port_ops = &svia_sata_ops;
243 probe_ent->n_ports = N_PORTS; 243 probe_ent->n_ports = N_PORTS;
244 probe_ent->irq = pdev->irq; 244 probe_ent->irq = pdev->irq;
245 probe_ent->irq_flags = SA_SHIRQ; 245 probe_ent->irq_flags = IRQF_SHARED;
246 probe_ent->pio_mask = 0x1f; 246 probe_ent->pio_mask = 0x1f;
247 probe_ent->mwdma_mask = 0x07; 247 probe_ent->mwdma_mask = 0x07;
248 probe_ent->udma_mask = 0x7f; 248 probe_ent->udma_mask = 0x7f;
diff --git a/drivers/scsi/sata_vsc.c b/drivers/scsi/sata_vsc.c
index 616fd9634b4b..916fe6fba756 100644
--- a/drivers/scsi/sata_vsc.c
+++ b/drivers/scsi/sata_vsc.c
@@ -400,7 +400,7 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d
400 probe_ent->port_ops = &vsc_sata_ops; 400 probe_ent->port_ops = &vsc_sata_ops;
401 probe_ent->n_ports = 4; 401 probe_ent->n_ports = 4;
402 probe_ent->irq = pdev->irq; 402 probe_ent->irq = pdev->irq;
403 probe_ent->irq_flags = SA_SHIRQ; 403 probe_ent->irq_flags = IRQF_SHARED;
404 probe_ent->mmio_base = mmio_base; 404 probe_ent->mmio_base = mmio_base;
405 405
406 /* We don't care much about the PIO/UDMA masks, but the core won't like us 406 /* We don't care much about the PIO/UDMA masks, but the core won't like us
diff --git a/drivers/scsi/seagate.c b/drivers/scsi/seagate.c
index 7fa4da4ea64f..3f312a84c6a7 100644
--- a/drivers/scsi/seagate.c
+++ b/drivers/scsi/seagate.c
@@ -497,7 +497,7 @@ int __init seagate_st0x_detect (struct scsi_host_template * tpnt)
497 return 0; 497 return 0;
498 498
499 hostno = instance->host_no; 499 hostno = instance->host_no;
500 if (request_irq (irq, do_seagate_reconnect_intr, SA_INTERRUPT, (controller_type == SEAGATE) ? "seagate" : "tmc-8xx", instance)) { 500 if (request_irq (irq, do_seagate_reconnect_intr, IRQF_DISABLED, (controller_type == SEAGATE) ? "seagate" : "tmc-8xx", instance)) {
501 printk(KERN_ERR "scsi%d : unable to allocate IRQ%d\n", hostno, irq); 501 printk(KERN_ERR "scsi%d : unable to allocate IRQ%d\n", hostno, irq);
502 return 0; 502 return 0;
503 } 503 }
diff --git a/drivers/scsi/sim710.c b/drivers/scsi/sim710.c
index 2b2789345c13..b27e85428daa 100644
--- a/drivers/scsi/sim710.c
+++ b/drivers/scsi/sim710.c
@@ -133,7 +133,7 @@ sim710_probe_common(struct device *dev, unsigned long base_addr,
133 host->this_id = scsi_id; 133 host->this_id = scsi_id;
134 host->base = base_addr; 134 host->base = base_addr;
135 host->irq = irq; 135 host->irq = irq;
136 if (request_irq(irq, NCR_700_intr, SA_SHIRQ, "sim710", host)) { 136 if (request_irq(irq, NCR_700_intr, IRQF_SHARED, "sim710", host)) {
137 printk(KERN_ERR "sim710: request_irq failed\n"); 137 printk(KERN_ERR "sim710: request_irq failed\n");
138 goto out_put_host; 138 goto out_put_host;
139 } 139 }
diff --git a/drivers/scsi/sun3x_esp.c b/drivers/scsi/sun3x_esp.c
index 2e2c1eb15636..1f328cae5c05 100644
--- a/drivers/scsi/sun3x_esp.c
+++ b/drivers/scsi/sun3x_esp.c
@@ -97,7 +97,7 @@ int sun3x_esp_detect(struct scsi_host_template *tpnt)
97 esp->esp_command_dvma = dvma_vtob((unsigned long)esp->esp_command); 97 esp->esp_command_dvma = dvma_vtob((unsigned long)esp->esp_command);
98 98
99 esp->irq = 2; 99 esp->irq = 2;
100 if (request_irq(esp->irq, esp_intr, SA_INTERRUPT, 100 if (request_irq(esp->irq, esp_intr, IRQF_DISABLED,
101 "SUN3X SCSI", esp->ehost)) { 101 "SUN3X SCSI", esp->ehost)) {
102 esp_deallocate(esp); 102 esp_deallocate(esp);
103 return 0; 103 return 0;
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index ea82d3df63af..8c505076c0eb 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -1547,7 +1547,7 @@ static struct Scsi_Host * __devinit sym_attach(struct scsi_host_template *tpnt,
1547 * If we synchonize the C code with SCRIPTS on interrupt, 1547 * If we synchonize the C code with SCRIPTS on interrupt,
1548 * we do not want to share the INTR line at all. 1548 * we do not want to share the INTR line at all.
1549 */ 1549 */
1550 if (request_irq(pdev->irq, sym53c8xx_intr, SA_SHIRQ, NAME53C8XX, np)) { 1550 if (request_irq(pdev->irq, sym53c8xx_intr, IRQF_SHARED, NAME53C8XX, np)) {
1551 printf_err("%s: request irq %d failure\n", 1551 printf_err("%s: request irq %d failure\n",
1552 sym_name(np), pdev->irq); 1552 sym_name(np), pdev->irq);
1553 goto attach_failed; 1553 goto attach_failed;
diff --git a/drivers/scsi/t128.c b/drivers/scsi/t128.c
index a24f661b0270..2df6747cb76f 100644
--- a/drivers/scsi/t128.c
+++ b/drivers/scsi/t128.c
@@ -260,7 +260,7 @@ found:
260 instance->irq = NCR5380_probe_irq(instance, T128_IRQS); 260 instance->irq = NCR5380_probe_irq(instance, T128_IRQS);
261 261
262 if (instance->irq != SCSI_IRQ_NONE) 262 if (instance->irq != SCSI_IRQ_NONE)
263 if (request_irq(instance->irq, t128_intr, SA_INTERRUPT, "t128", instance)) { 263 if (request_irq(instance->irq, t128_intr, IRQF_DISABLED, "t128", instance)) {
264 printk("scsi%d : IRQ%d not free, interrupts disabled\n", 264 printk("scsi%d : IRQ%d not free, interrupts disabled\n",
265 instance->host_no, instance->irq); 265 instance->host_no, instance->irq);
266 instance->irq = SCSI_IRQ_NONE; 266 instance->irq = SCSI_IRQ_NONE;
diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c
index 7540f6a7529f..9404ff3d4c79 100644
--- a/drivers/scsi/tmscsim.c
+++ b/drivers/scsi/tmscsim.c
@@ -2584,7 +2584,7 @@ static int __devinit dc390_probe_one(struct pci_dev *pdev,
2584 /* Reset Pending INT */ 2584 /* Reset Pending INT */
2585 DC390_read8_(INT_Status, io_port); 2585 DC390_read8_(INT_Status, io_port);
2586 2586
2587 if (request_irq(pdev->irq, do_DC390_Interrupt, SA_SHIRQ, 2587 if (request_irq(pdev->irq, do_DC390_Interrupt, IRQF_SHARED,
2588 "tmscsim", pACB)) { 2588 "tmscsim", pACB)) {
2589 printk(KERN_ERR "DC390: register IRQ error!\n"); 2589 printk(KERN_ERR "DC390: register IRQ error!\n");
2590 goto out_release_region; 2590 goto out_release_region;
diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c
index 35c043e38ed4..57449611e714 100644
--- a/drivers/scsi/u14-34f.c
+++ b/drivers/scsi/u14-34f.c
@@ -872,7 +872,7 @@ static int port_detect \
872 872
873 /* Board detected, allocate its IRQ */ 873 /* Board detected, allocate its IRQ */
874 if (request_irq(irq, do_interrupt_handler, 874 if (request_irq(irq, do_interrupt_handler,
875 SA_INTERRUPT | ((subversion == ESA) ? SA_SHIRQ : 0), 875 IRQF_DISABLED | ((subversion == ESA) ? IRQF_SHARED : 0),
876 driver_name, (void *) &sha[j])) { 876 driver_name, (void *) &sha[j])) {
877 printk("%s: unable to allocate IRQ %u, detaching.\n", name, irq); 877 printk("%s: unable to allocate IRQ %u, detaching.\n", name, irq);
878 goto freelock; 878 goto freelock;
diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c
index 574955b78a24..a0b61af48f1c 100644
--- a/drivers/scsi/wd7000.c
+++ b/drivers/scsi/wd7000.c
@@ -1250,7 +1250,7 @@ static int wd7000_init(Adapter * host)
1250 return 0; 1250 return 0;
1251 1251
1252 1252
1253 if (request_irq(host->irq, wd7000_intr, SA_INTERRUPT, "wd7000", host)) { 1253 if (request_irq(host->irq, wd7000_intr, IRQF_DISABLED, "wd7000", host)) {
1254 printk("wd7000_init: can't get IRQ %d.\n", host->irq); 1254 printk("wd7000_init: can't get IRQ %d.\n", host->irq);
1255 return (0); 1255 return (0);
1256 } 1256 }
diff --git a/drivers/scsi/zalon.c b/drivers/scsi/zalon.c
index a6cfbb3b361c..4b5f908d35c3 100644
--- a/drivers/scsi/zalon.c
+++ b/drivers/scsi/zalon.c
@@ -136,7 +136,7 @@ zalon_probe(struct parisc_device *dev)
136 if (!host) 136 if (!host)
137 goto fail; 137 goto fail;
138 138
139 if (request_irq(dev->irq, ncr53c8xx_intr, SA_SHIRQ, "zalon", host)) { 139 if (request_irq(dev->irq, ncr53c8xx_intr, IRQF_SHARED, "zalon", host)) {
140 printk(KERN_ERR "%s: irq problem with %d, detaching\n ", 140 printk(KERN_ERR "%s: irq problem with %d, detaching\n ",
141 dev->dev.bus_id, dev->irq); 141 dev->dev.bus_id, dev->irq);
142 goto fail; 142 goto fail;