diff for duplicates of <20141112051148.875461007@telegraphics.com.au> diff --git a/a/1.txt b/N1/1.txt index 5c3f275..ef4247b 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,461 +1,3 @@ -Oak scsi doesn't use any IRQ, but it sets irq = IRQ_NONE rather than -SCSI_IRQ_NONE. Problem is, the core NCR5380 driver expects SCSI_IRQ_NONE -if it is to issue IDENTIFY commands that prevent target disconnection. -And, as Geert points out, IRQ_NONE is part of enum irqreturn. - -Other drivers, when they can't get an IRQ or can't use one, will set -host->irq = SCSI_IRQ_NONE (that is, 255). But when they exit they will -attempt to free IRQ 255 which was never requested. - -Fix these bugs by using NO_IRQ in place of SCSI_IRQ_NONE and IRQ_NONE. -That means IRQ 0 is no longer probed by ISA drivers but I don't think -this matters. - -Setting IRQ = 255 for these ISA drivers is understood to mean no IRQ. -This remains supported so as to avoid breaking existing ISA setups (which -can be difficult to get working) and because existing documentation -(SANE, TLDP etc) describes this usage for the ISA NCR5380 driver options. - -Signed-off-by: Finn Thain <fthain@telegraphics.com.au> -Reviewed-by: Hannes Reinecke <hare@suse.de> -Tested-by: Michael Schmitz <schmitzmic@gmail.com> - ---- - -Changes since v1: -- Define NO_IRQ macro and use that instead of IRQ_NONE. - ---- - drivers/scsi/NCR5380.c | 12 ++++++------ - drivers/scsi/NCR5380.h | 5 ++++- - drivers/scsi/arm/oak.c | 2 +- - drivers/scsi/dmx3191d.c | 7 ++++--- - drivers/scsi/dtc.c | 22 +++++++++++++--------- - drivers/scsi/g_NCR5380.c | 18 +++++++++++------- - drivers/scsi/mac_scsi.c | 8 ++++---- - drivers/scsi/pas16.c | 20 +++++++++++--------- - drivers/scsi/sun3_scsi.c | 6 +++--- - drivers/scsi/t128.c | 14 +++++++++----- - 10 files changed, 66 insertions(+), 48 deletions(-) - -Index: linux/drivers/scsi/dtc.c -=================================================================== ---- linux.orig/drivers/scsi/dtc.c 2014-11-12 16:10:59.000000000 +1100 -+++ linux/drivers/scsi/dtc.c 2014-11-12 16:11:02.000000000 +1100 -@@ -254,31 +254,35 @@ found: - else - instance->irq = NCR5380_probe_irq(instance, DTC_IRQS); - -+ /* Compatibility with documented NCR5380 kernel parameters */ -+ if (instance->irq == 255) -+ instance->irq = NO_IRQ; -+ - #ifndef DONT_USE_INTR - /* With interrupts enabled, it will sometimes hang when doing heavy - * reads. So better not enable them until I finger it out. */ -- if (instance->irq != SCSI_IRQ_NONE) -+ if (instance->irq != NO_IRQ) - if (request_irq(instance->irq, dtc_intr, 0, - "dtc", instance)) { - printk(KERN_ERR "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); -- instance->irq = SCSI_IRQ_NONE; -+ instance->irq = NO_IRQ; - } - -- if (instance->irq == SCSI_IRQ_NONE) { -+ if (instance->irq == NO_IRQ) { - printk(KERN_WARNING "scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); - printk(KERN_WARNING "scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); - } - #else -- if (instance->irq != SCSI_IRQ_NONE) -+ if (instance->irq != NO_IRQ) - printk(KERN_WARNING "scsi%d : interrupts not used. Might as well not jumper it.\n", instance->host_no); -- instance->irq = SCSI_IRQ_NONE; -+ instance->irq = NO_IRQ; - #endif - #if defined(DTCDEBUG) && (DTCDEBUG & DTCDEBUG_INIT) - printk("scsi%d : irq = %d\n", instance->host_no, instance->irq); - #endif - - printk(KERN_INFO "scsi%d : at 0x%05X", instance->host_no, (int) instance->base); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - printk(" interrupts disabled"); - else - printk(" irq %d", instance->irq); -@@ -350,7 +354,7 @@ static inline int NCR5380_pread(struct S - i = 0; - NCR5380_read(RESET_PARITY_INTERRUPT_REG); - NCR5380_write(MODE_REG, MR_ENABLE_EOP_INTR | MR_DMA_MODE); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - NCR5380_write(DTC_CONTROL_REG, CSR_DIR_READ); - else - NCR5380_write(DTC_CONTROL_REG, CSR_DIR_READ | CSR_INT_BASE); -@@ -401,7 +405,7 @@ static inline int NCR5380_pwrite(struct - NCR5380_read(RESET_PARITY_INTERRUPT_REG); - NCR5380_write(MODE_REG, MR_ENABLE_EOP_INTR | MR_DMA_MODE); - /* set direction (write) */ -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - NCR5380_write(DTC_CONTROL_REG, 0); - else - NCR5380_write(DTC_CONTROL_REG, CSR_5380_INTR); -@@ -440,7 +444,7 @@ static int dtc_release(struct Scsi_Host - { - NCR5380_local_declare(); - NCR5380_setup(shost); -- if (shost->irq) -+ if (shost->irq != NO_IRQ) - free_irq(shost->irq, shost); - NCR5380_exit(shost); - if (shost->io_port && shost->n_io_port) -Index: linux/drivers/scsi/pas16.c -=================================================================== ---- linux.orig/drivers/scsi/pas16.c 2014-11-12 16:10:59.000000000 +1100 -+++ linux/drivers/scsi/pas16.c 2014-11-12 16:11:02.000000000 +1100 -@@ -62,13 +62,11 @@ - * If you have problems with your card not being recognized, use - * the LILO command line override. Try to get it recognized without - * interrupts. Ie, for a board at the default 0x388 base port, -- * boot: linux pas16=0x388,255 -+ * boot: linux pas16=0x388,0 - * -- * SCSI_IRQ_NONE (255) should be specified for no interrupt, -+ * NO_IRQ (0) should be specified for no interrupt, - * IRQ_AUTO (254) to autoprobe for an IRQ line if overridden - * on the command line. -- * -- * (IRQ_AUTO == 254, SCSI_IRQ_NONE == 255 in NCR5380.h) - */ - - #include <linux/module.h> -@@ -416,15 +414,19 @@ static int __init pas16_detect(struct sc - else - instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS); - -- if (instance->irq != SCSI_IRQ_NONE) -+ /* Compatibility with documented NCR5380 kernel parameters */ -+ if (instance->irq == 255) -+ instance->irq = NO_IRQ; -+ -+ if (instance->irq != NO_IRQ) - if (request_irq(instance->irq, pas16_intr, 0, - "pas16", instance)) { - printk("scsi%d : IRQ%d not free, interrupts disabled\n", - instance->host_no, instance->irq); -- instance->irq = SCSI_IRQ_NONE; -+ instance->irq = NO_IRQ; - } - -- if (instance->irq == SCSI_IRQ_NONE) { -+ if (instance->irq == NO_IRQ) { - printk("scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); - printk("scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); - /* Disable 5380 interrupts, leave drive params the same */ -@@ -438,7 +440,7 @@ static int __init pas16_detect(struct sc - - printk("scsi%d : at 0x%04x", instance->host_no, (int) - instance->io_port); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - printk (" interrupts disabled"); - else - printk (" irq %d", instance->irq); -@@ -568,7 +570,7 @@ static inline int NCR5380_pwrite (struct - - static int pas16_release(struct Scsi_Host *shost) - { -- if (shost->irq) -+ if (shost->irq != NO_IRQ) - free_irq(shost->irq, shost); - NCR5380_exit(shost); - if (shost->io_port && shost->n_io_port) -Index: linux/drivers/scsi/t128.c -=================================================================== ---- linux.orig/drivers/scsi/t128.c 2014-11-12 16:10:59.000000000 +1100 -+++ linux/drivers/scsi/t128.c 2014-11-12 16:11:02.000000000 +1100 -@@ -228,15 +228,19 @@ found: - else - instance->irq = NCR5380_probe_irq(instance, T128_IRQS); - -- if (instance->irq != SCSI_IRQ_NONE) -+ /* Compatibility with documented NCR5380 kernel parameters */ -+ if (instance->irq == 255) -+ instance->irq = NO_IRQ; -+ -+ if (instance->irq != NO_IRQ) - if (request_irq(instance->irq, t128_intr, 0, "t128", - instance)) { - printk("scsi%d : IRQ%d not free, interrupts disabled\n", - instance->host_no, instance->irq); -- instance->irq = SCSI_IRQ_NONE; -+ instance->irq = NO_IRQ; - } - -- if (instance->irq == SCSI_IRQ_NONE) { -+ if (instance->irq == NO_IRQ) { - printk("scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); - printk("scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); - } -@@ -246,7 +250,7 @@ found: - #endif - - printk("scsi%d : at 0x%08lx", instance->host_no, instance->base); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - printk (" interrupts disabled"); - else - printk (" irq %d", instance->irq); -@@ -265,7 +269,7 @@ static int t128_release(struct Scsi_Host - { - NCR5380_local_declare(); - NCR5380_setup(shost); -- if (shost->irq) -+ if (shost->irq != NO_IRQ) - free_irq(shost->irq, shost); - NCR5380_exit(shost); - if (shost->io_port && shost->n_io_port) -Index: linux/drivers/scsi/NCR5380.c -=================================================================== ---- linux.orig/drivers/scsi/NCR5380.c 2014-11-12 16:10:57.000000000 +1100 -+++ linux/drivers/scsi/NCR5380.c 2014-11-12 16:11:02.000000000 +1100 -@@ -574,12 +574,12 @@ static int __init __maybe_unused NCR5380 - int trying_irqs, i, mask; - NCR5380_setup(instance); - -- for (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1) -+ for (trying_irqs = 0, i = 1, mask = 2; i < 16; ++i, mask <<= 1) - if ((mask & possible) && (request_irq(i, &probe_intr, 0, "NCR-probe", NULL) == 0)) - trying_irqs |= mask; - - timeout = jiffies + (250 * HZ / 1000); -- probe_irq = SCSI_IRQ_NONE; -+ probe_irq = NO_IRQ; - - /* - * A interrupt is triggered whenever BSY = false, SEL = true -@@ -596,13 +596,13 @@ static int __init __maybe_unused NCR5380 - NCR5380_write(OUTPUT_DATA_REG, hostdata->id_mask); - NCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_DATA | ICR_ASSERT_SEL); - -- while (probe_irq == SCSI_IRQ_NONE && time_before(jiffies, timeout)) -+ while (probe_irq == NO_IRQ && time_before(jiffies, timeout)) - schedule_timeout_uninterruptible(1); - - NCR5380_write(SELECT_ENABLE_REG, 0); - NCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE); - -- for (i = 0, mask = 1; i < 16; ++i, mask <<= 1) -+ for (i = 1, mask = 2; i < 16; ++i, mask <<= 1) - if (trying_irqs & mask) - free_irq(i, NULL); - -@@ -730,7 +730,7 @@ static int __maybe_unused NCR5380_show_i - - SPRINTF("\nBase Addr: 0x%05lX ", (long) instance->base); - SPRINTF("io_port: %04x ", (int) instance->io_port); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - SPRINTF("IRQ: None.\n"); - else - SPRINTF("IRQ: %d.\n", instance->irq); -@@ -1501,7 +1501,7 @@ part2: - } - - dprintk(NDEBUG_SELECTION, "scsi%d : target %d selected, going into MESSAGE OUT phase.\n", instance->host_no, cmd->device->id); -- tmp[0] = IDENTIFY(((instance->irq == SCSI_IRQ_NONE) ? 0 : 1), cmd->device->lun); -+ tmp[0] = IDENTIFY(((instance->irq == NO_IRQ) ? 0 : 1), cmd->device->lun); - - len = 1; - cmd->tag = 0; -Index: linux/drivers/scsi/NCR5380.h -=================================================================== ---- linux.orig/drivers/scsi/NCR5380.h 2014-11-12 16:10:57.000000000 +1100 -+++ linux/drivers/scsi/NCR5380.h 2014-11-12 16:11:02.000000000 +1100 -@@ -232,12 +232,15 @@ - * Scsi_Host structure - */ - --#define SCSI_IRQ_NONE 255 - #define DMA_NONE 255 - #define IRQ_AUTO 254 - #define DMA_AUTO 254 - #define PORT_AUTO 0xffff /* autoprobe io port for 53c400a */ - -+#ifndef NO_IRQ -+#define NO_IRQ 0 -+#endif -+ - #define FLAG_HAS_LAST_BYTE_SENT 1 /* NCR53c81 or better */ - #define FLAG_CHECK_LAST_BYTE_SENT 2 /* Only test once */ - #define FLAG_NCR53C400 4 /* NCR53c400 */ -Index: linux/drivers/scsi/dmx3191d.c -=================================================================== ---- linux.orig/drivers/scsi/dmx3191d.c 2014-11-12 16:10:57.000000000 +1100 -+++ linux/drivers/scsi/dmx3191d.c 2014-11-12 16:11:02.000000000 +1100 -@@ -100,7 +100,7 @@ static int dmx3191d_probe_one(struct pci - */ - printk(KERN_WARNING "dmx3191: IRQ %d not available - " - "switching to polled mode.\n", pdev->irq); -- shost->irq = SCSI_IRQ_NONE; -+ shost->irq = NO_IRQ; - } - - pci_set_drvdata(pdev, shost); -@@ -113,7 +113,8 @@ static int dmx3191d_probe_one(struct pci - return 0; - - out_free_irq: -- free_irq(shost->irq, shost); -+ if (shost->irq != NO_IRQ) -+ free_irq(shost->irq, shost); - out_release_region: - release_region(io, DMX3191D_REGION_LEN); - out_disable_device: -@@ -130,7 +131,7 @@ static void dmx3191d_remove_one(struct p - - NCR5380_exit(shost); - -- if (shost->irq != SCSI_IRQ_NONE) -+ if (shost->irq != NO_IRQ) - free_irq(shost->irq, shost); - release_region(shost->io_port, DMX3191D_REGION_LEN); - pci_disable_device(pdev); -Index: linux/drivers/scsi/g_NCR5380.c -=================================================================== ---- linux.orig/drivers/scsi/g_NCR5380.c 2014-11-12 16:10:59.000000000 +1100 -+++ linux/drivers/scsi/g_NCR5380.c 2014-11-12 16:11:02.000000000 +1100 -@@ -312,7 +312,7 @@ static int __init generic_NCR5380_detect - if (pnp_irq_valid(dev, 0)) - overrides[count].irq = pnp_irq(dev, 0); - else -- overrides[count].irq = SCSI_IRQ_NONE; -+ overrides[count].irq = NO_IRQ; - if (pnp_dma_valid(dev, 0)) - overrides[count].dma = pnp_dma(dev, 0); - else -@@ -432,20 +432,24 @@ static int __init generic_NCR5380_detect - else - instance->irq = NCR5380_probe_irq(instance, 0xffff); - -- if (instance->irq != SCSI_IRQ_NONE) -+ /* Compatibility with documented NCR5380 kernel parameters */ -+ if (instance->irq == 255) -+ instance->irq = NO_IRQ; -+ -+ if (instance->irq != NO_IRQ) - if (request_irq(instance->irq, generic_NCR5380_intr, - 0, "NCR5380", instance)) { - printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); -- instance->irq = SCSI_IRQ_NONE; -+ instance->irq = NO_IRQ; - } - -- if (instance->irq == SCSI_IRQ_NONE) { -+ if (instance->irq == NO_IRQ) { - printk(KERN_INFO "scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); - printk(KERN_INFO "scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); - } - - printk(KERN_INFO "scsi%d : at " STRVAL(NCR5380_map_name) " 0x%x", instance->host_no, (unsigned int) instance->NCR5380_instance_name); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - printk(" interrupts disabled"); - else - printk(" irq %d", instance->irq); -@@ -486,7 +490,7 @@ static int generic_NCR5380_release_resou - NCR5380_local_declare(); - NCR5380_setup(instance); - -- if (instance->irq != SCSI_IRQ_NONE) -+ if (instance->irq != NO_IRQ) - free_irq(instance->irq, instance); - NCR5380_exit(instance); - -@@ -796,7 +800,7 @@ static int generic_NCR5380_show_info(str - PRINTP("NO NCR53C400 driver extensions\n"); - #endif - PRINTP("Using %s mapping at %s 0x%lx, " ANDP STRVAL(NCR5380_map_config) ANDP STRVAL(NCR5380_map_name) ANDP scsi_ptr->NCR5380_instance_name); -- if (scsi_ptr->irq == SCSI_IRQ_NONE) -+ if (scsi_ptr->irq == NO_IRQ) - PRINTP("no interrupt\n"); - else - PRINTP("on interrupt %d\n" ANDP scsi_ptr->irq); -Index: linux/drivers/scsi/mac_scsi.c -=================================================================== ---- linux.orig/drivers/scsi/mac_scsi.c 2014-11-12 16:10:59.000000000 +1100 -+++ linux/drivers/scsi/mac_scsi.c 2014-11-12 16:11:02.000000000 +1100 -@@ -229,15 +229,15 @@ int __init macscsi_detect(struct scsi_ho - - instance->n_io_port = 255; - -- if (instance->irq != SCSI_IRQ_NONE) -+ if (instance->irq != NO_IRQ) - if (request_irq(instance->irq, NCR5380_intr, 0, "ncr5380", instance)) { - printk(KERN_WARNING "scsi%d: IRQ%d not free, interrupts disabled\n", - instance->host_no, instance->irq); -- instance->irq = SCSI_IRQ_NONE; -+ instance->irq = NO_IRQ; - } - - printk(KERN_INFO "scsi%d: generic 5380 at port %lX irq", instance->host_no, instance->io_port); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - printk (KERN_INFO "s disabled"); - else - printk (KERN_INFO " %d", instance->irq); -@@ -252,7 +252,7 @@ int __init macscsi_detect(struct scsi_ho - - int macscsi_release (struct Scsi_Host *shpnt) - { -- if (shpnt->irq != SCSI_IRQ_NONE) -+ if (shpnt->irq != NO_IRQ) - free_irq(shpnt->irq, shpnt); - NCR5380_exit(shpnt); - -Index: linux/drivers/scsi/sun3_scsi.c -=================================================================== ---- linux.orig/drivers/scsi/sun3_scsi.c 2014-11-12 16:10:59.000000000 +1100 -+++ linux/drivers/scsi/sun3_scsi.c 2014-11-12 16:11:02.000000000 +1100 -@@ -278,7 +278,7 @@ static int __init sun3scsi_detect(struct - #ifndef REAL_DMA - printk("scsi%d: IRQ%d not free, interrupts disabled\n", - instance->host_no, instance->irq); -- instance->irq = SCSI_IRQ_NONE; -+ instance->irq = NO_IRQ; - #else - printk("scsi%d: IRQ%d not free, bailing out\n", - instance->host_no, instance->irq); -@@ -288,7 +288,7 @@ static int __init sun3scsi_detect(struct - - pr_info("scsi%d: %s at port %lX irq", instance->host_no, - tpnt->proc_name, instance->io_port); -- if (instance->irq == SCSI_IRQ_NONE) -+ if (instance->irq == NO_IRQ) - printk ("s disabled"); - else - printk (" %d", instance->irq); -@@ -325,7 +325,7 @@ static int __init sun3scsi_detect(struct - - static int sun3scsi_release(struct Scsi_Host *shpnt) - { -- if (shpnt->irq != SCSI_IRQ_NONE) -+ if (shpnt->irq != NO_IRQ) - free_irq(shpnt->irq, shpnt); - - iounmap((void *)sun3_scsi_regp); -Index: linux/drivers/scsi/arm/oak.c -=================================================================== ---- linux.orig/drivers/scsi/arm/oak.c 2014-11-12 16:10:57.000000000 +1100 -+++ linux/drivers/scsi/arm/oak.c 2014-11-12 16:11:02.000000000 +1100 -@@ -148,7 +148,7 @@ static int oakscsi_probe(struct expansio - goto unreg; - } - -- host->irq = IRQ_NONE; -+ host->irq = NO_IRQ; - host->n_io_port = 255; - - NCR5380_init(host, 0); +An embedded and charset-unspecified text was scrubbed... +Name: ncr5380-SCSI_IRQ_NONE-fixes +URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141112/bf3ed375/attachment.ksh> diff --git a/a/content_digest b/N1/content_digest index 6ba8051..a5d5669 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,477 +1,12 @@ "ref\020141112051146.525489687@telegraphics.com.au\0" - "From\0Finn Thain <fthain@telegraphics.com.au>\0" + "From\0fthain@telegraphics.com.au (Finn Thain)\0" "Subject\0[PATCH v3 10/37] ncr5380: Fix SCSI_IRQ_NONE bugs\0" "Date\0Wed, 12 Nov 2014 16:11:56 +1100\0" - "To\0James E.J. Bottomley <JBottomley@parallels.com>\0" - "Cc\0Michael Schmitz <schmitzmic@gmail.com>" - Sam Creasey <sammy@sammy.net> - linux-m68k@vger.kernel.org - Russell King <linux@arm.linux.org.uk> - linux-scsi@vger.kernel.org - " linux-arm-kernel@lists.infradead.org\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" - "fn\0ncr5380-SCSI_IRQ_NONE-fixes\0" "b\0" - "Oak scsi doesn't use any IRQ, but it sets irq = IRQ_NONE rather than\n" - "SCSI_IRQ_NONE. Problem is, the core NCR5380 driver expects SCSI_IRQ_NONE\n" - "if it is to issue IDENTIFY commands that prevent target disconnection.\n" - "And, as Geert points out, IRQ_NONE is part of enum irqreturn.\n" - "\n" - "Other drivers, when they can't get an IRQ or can't use one, will set\n" - "host->irq = SCSI_IRQ_NONE (that is, 255). But when they exit they will\n" - "attempt to free IRQ 255 which was never requested.\n" - "\n" - "Fix these bugs by using NO_IRQ in place of SCSI_IRQ_NONE and IRQ_NONE.\n" - "That means IRQ 0 is no longer probed by ISA drivers but I don't think\n" - "this matters.\n" - "\n" - "Setting IRQ = 255 for these ISA drivers is understood to mean no IRQ.\n" - "This remains supported so as to avoid breaking existing ISA setups (which\n" - "can be difficult to get working) and because existing documentation\n" - "(SANE, TLDP etc) describes this usage for the ISA NCR5380 driver options.\n" - "\n" - "Signed-off-by: Finn Thain <fthain@telegraphics.com.au>\n" - "Reviewed-by: Hannes Reinecke <hare@suse.de>\n" - "Tested-by: Michael Schmitz <schmitzmic@gmail.com>\n" - "\n" - "---\n" - "\n" - "Changes since v1:\n" - "- Define NO_IRQ macro and use that instead of IRQ_NONE.\n" - "\n" - "---\n" - " drivers/scsi/NCR5380.c | 12 ++++++------\n" - " drivers/scsi/NCR5380.h | 5 ++++-\n" - " drivers/scsi/arm/oak.c | 2 +-\n" - " drivers/scsi/dmx3191d.c | 7 ++++---\n" - " drivers/scsi/dtc.c | 22 +++++++++++++---------\n" - " drivers/scsi/g_NCR5380.c | 18 +++++++++++-------\n" - " drivers/scsi/mac_scsi.c | 8 ++++----\n" - " drivers/scsi/pas16.c | 20 +++++++++++---------\n" - " drivers/scsi/sun3_scsi.c | 6 +++---\n" - " drivers/scsi/t128.c | 14 +++++++++-----\n" - " 10 files changed, 66 insertions(+), 48 deletions(-)\n" - "\n" - "Index: linux/drivers/scsi/dtc.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/dtc.c\t2014-11-12 16:10:59.000000000 +1100\n" - "+++ linux/drivers/scsi/dtc.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -254,31 +254,35 @@ found:\n" - " \t\telse\n" - " \t\t\tinstance->irq = NCR5380_probe_irq(instance, DTC_IRQS);\n" - " \n" - "+\t\t/* Compatibility with documented NCR5380 kernel parameters */\n" - "+\t\tif (instance->irq == 255)\n" - "+\t\t\tinstance->irq = NO_IRQ;\n" - "+\n" - " #ifndef DONT_USE_INTR\n" - " \t\t/* With interrupts enabled, it will sometimes hang when doing heavy\n" - " \t\t * reads. So better not enable them until I finger it out. */\n" - "-\t\tif (instance->irq != SCSI_IRQ_NONE)\n" - "+\t\tif (instance->irq != NO_IRQ)\n" - " \t\t\tif (request_irq(instance->irq, dtc_intr, 0,\n" - " \t\t\t\t\t\"dtc\", instance)) {\n" - " \t\t\t\tprintk(KERN_ERR \"scsi%d : IRQ%d not free, interrupts disabled\\n\", instance->host_no, instance->irq);\n" - "-\t\t\t\tinstance->irq = SCSI_IRQ_NONE;\n" - "+\t\t\t\tinstance->irq = NO_IRQ;\n" - " \t\t\t}\n" - " \n" - "-\t\tif (instance->irq == SCSI_IRQ_NONE) {\n" - "+\t\tif (instance->irq == NO_IRQ) {\n" - " \t\t\tprintk(KERN_WARNING \"scsi%d : interrupts not enabled. for better interactive performance,\\n\", instance->host_no);\n" - " \t\t\tprintk(KERN_WARNING \"scsi%d : please jumper the board for a free IRQ.\\n\", instance->host_no);\n" - " \t\t}\n" - " #else\n" - "-\t\tif (instance->irq != SCSI_IRQ_NONE)\n" - "+\t\tif (instance->irq != NO_IRQ)\n" - " \t\t\tprintk(KERN_WARNING \"scsi%d : interrupts not used. Might as well not jumper it.\\n\", instance->host_no);\n" - "-\t\tinstance->irq = SCSI_IRQ_NONE;\n" - "+\t\tinstance->irq = NO_IRQ;\n" - " #endif\n" - " #if defined(DTCDEBUG) && (DTCDEBUG & DTCDEBUG_INIT)\n" - " \t\tprintk(\"scsi%d : irq = %d\\n\", instance->host_no, instance->irq);\n" - " #endif\n" - " \n" - " \t\tprintk(KERN_INFO \"scsi%d : at 0x%05X\", instance->host_no, (int) instance->base);\n" - "-\t\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\t\tif (instance->irq == NO_IRQ)\n" - " \t\t\tprintk(\" interrupts disabled\");\n" - " \t\telse\n" - " \t\t\tprintk(\" irq %d\", instance->irq);\n" - "@@ -350,7 +354,7 @@ static inline int NCR5380_pread(struct S\n" - " \ti = 0;\n" - " \tNCR5380_read(RESET_PARITY_INTERRUPT_REG);\n" - " \tNCR5380_write(MODE_REG, MR_ENABLE_EOP_INTR | MR_DMA_MODE);\n" - "-\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\tif (instance->irq == NO_IRQ)\n" - " \t\tNCR5380_write(DTC_CONTROL_REG, CSR_DIR_READ);\n" - " \telse\n" - " \t\tNCR5380_write(DTC_CONTROL_REG, CSR_DIR_READ | CSR_INT_BASE);\n" - "@@ -401,7 +405,7 @@ static inline int NCR5380_pwrite(struct\n" - " \tNCR5380_read(RESET_PARITY_INTERRUPT_REG);\n" - " \tNCR5380_write(MODE_REG, MR_ENABLE_EOP_INTR | MR_DMA_MODE);\n" - " \t/* set direction (write) */\n" - "-\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\tif (instance->irq == NO_IRQ)\n" - " \t\tNCR5380_write(DTC_CONTROL_REG, 0);\n" - " \telse\n" - " \t\tNCR5380_write(DTC_CONTROL_REG, CSR_5380_INTR);\n" - "@@ -440,7 +444,7 @@ static int dtc_release(struct Scsi_Host\n" - " {\n" - " \tNCR5380_local_declare();\n" - " \tNCR5380_setup(shost);\n" - "-\tif (shost->irq)\n" - "+\tif (shost->irq != NO_IRQ)\n" - " \t\tfree_irq(shost->irq, shost);\n" - " \tNCR5380_exit(shost);\n" - " \tif (shost->io_port && shost->n_io_port)\n" - "Index: linux/drivers/scsi/pas16.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/pas16.c\t2014-11-12 16:10:59.000000000 +1100\n" - "+++ linux/drivers/scsi/pas16.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -62,13 +62,11 @@\n" - " * If you have problems with your card not being recognized, use\n" - " * the LILO command line override. Try to get it recognized without\n" - " * interrupts. Ie, for a board at the default 0x388 base port,\n" - "- * boot: linux pas16=0x388,255\n" - "+ * boot: linux pas16=0x388,0\n" - " *\n" - "- * SCSI_IRQ_NONE (255) should be specified for no interrupt,\n" - "+ * NO_IRQ (0) should be specified for no interrupt,\n" - " * IRQ_AUTO (254) to autoprobe for an IRQ line if overridden\n" - " * on the command line.\n" - "- *\n" - "- * (IRQ_AUTO == 254, SCSI_IRQ_NONE == 255 in NCR5380.h)\n" - " */\n" - " \n" - " #include <linux/module.h>\n" - "@@ -416,15 +414,19 @@ static int __init pas16_detect(struct sc\n" - " \telse \n" - " \t instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS);\n" - " \n" - "-\tif (instance->irq != SCSI_IRQ_NONE) \n" - "+\t/* Compatibility with documented NCR5380 kernel parameters */\n" - "+\tif (instance->irq == 255)\n" - "+\t\tinstance->irq = NO_IRQ;\n" - "+\n" - "+\tif (instance->irq != NO_IRQ)\n" - " \t if (request_irq(instance->irq, pas16_intr, 0,\n" - " \t\t\t \"pas16\", instance)) {\n" - " \t\tprintk(\"scsi%d : IRQ%d not free, interrupts disabled\\n\", \n" - " \t\t instance->host_no, instance->irq);\n" - "-\t\tinstance->irq = SCSI_IRQ_NONE;\n" - "+\t\tinstance->irq = NO_IRQ;\n" - " \t } \n" - " \n" - "-\tif (instance->irq == SCSI_IRQ_NONE) {\n" - "+\tif (instance->irq == NO_IRQ) {\n" - " \t printk(\"scsi%d : interrupts not enabled. for better interactive performance,\\n\", instance->host_no);\n" - " \t printk(\"scsi%d : please jumper the board for a free IRQ.\\n\", instance->host_no);\n" - " \t /* Disable 5380 interrupts, leave drive params the same */\n" - "@@ -438,7 +440,7 @@ static int __init pas16_detect(struct sc\n" - " \n" - " \tprintk(\"scsi%d : at 0x%04x\", instance->host_no, (int) \n" - " \t instance->io_port);\n" - "-\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\tif (instance->irq == NO_IRQ)\n" - " \t printk (\" interrupts disabled\");\n" - " \telse \n" - " \t printk (\" irq %d\", instance->irq);\n" - "@@ -568,7 +570,7 @@ static inline int NCR5380_pwrite (struct\n" - " \n" - " static int pas16_release(struct Scsi_Host *shost)\n" - " {\n" - "-\tif (shost->irq)\n" - "+\tif (shost->irq != NO_IRQ)\n" - " \t\tfree_irq(shost->irq, shost);\n" - " \tNCR5380_exit(shost);\n" - " \tif (shost->io_port && shost->n_io_port)\n" - "Index: linux/drivers/scsi/t128.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/t128.c\t2014-11-12 16:10:59.000000000 +1100\n" - "+++ linux/drivers/scsi/t128.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -228,15 +228,19 @@ found:\n" - " \telse \n" - " \t instance->irq = NCR5380_probe_irq(instance, T128_IRQS);\n" - " \n" - "-\tif (instance->irq != SCSI_IRQ_NONE) \n" - "+\t/* Compatibility with documented NCR5380 kernel parameters */\n" - "+\tif (instance->irq == 255)\n" - "+\t\tinstance->irq = NO_IRQ;\n" - "+\n" - "+\tif (instance->irq != NO_IRQ)\n" - " \t if (request_irq(instance->irq, t128_intr, 0, \"t128\",\n" - " \t\t\t instance)) {\n" - " \t\tprintk(\"scsi%d : IRQ%d not free, interrupts disabled\\n\", \n" - " \t\t instance->host_no, instance->irq);\n" - "-\t\tinstance->irq = SCSI_IRQ_NONE;\n" - "+\t\tinstance->irq = NO_IRQ;\n" - " \t } \n" - " \n" - "-\tif (instance->irq == SCSI_IRQ_NONE) {\n" - "+\tif (instance->irq == NO_IRQ) {\n" - " \t printk(\"scsi%d : interrupts not enabled. for better interactive performance,\\n\", instance->host_no);\n" - " \t printk(\"scsi%d : please jumper the board for a free IRQ.\\n\", instance->host_no);\n" - " \t}\n" - "@@ -246,7 +250,7 @@ found:\n" - " #endif\n" - " \n" - " \tprintk(\"scsi%d : at 0x%08lx\", instance->host_no, instance->base);\n" - "-\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\tif (instance->irq == NO_IRQ)\n" - " \t printk (\" interrupts disabled\");\n" - " \telse \n" - " \t printk (\" irq %d\", instance->irq);\n" - "@@ -265,7 +269,7 @@ static int t128_release(struct Scsi_Host\n" - " {\n" - " \tNCR5380_local_declare();\n" - " \tNCR5380_setup(shost);\n" - "-\tif (shost->irq)\n" - "+\tif (shost->irq != NO_IRQ)\n" - " \t\tfree_irq(shost->irq, shost);\n" - " \tNCR5380_exit(shost);\n" - " \tif (shost->io_port && shost->n_io_port)\n" - "Index: linux/drivers/scsi/NCR5380.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/NCR5380.c\t2014-11-12 16:10:57.000000000 +1100\n" - "+++ linux/drivers/scsi/NCR5380.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -574,12 +574,12 @@ static int __init __maybe_unused NCR5380\n" - " \tint trying_irqs, i, mask;\n" - " \tNCR5380_setup(instance);\n" - " \n" - "-\tfor (trying_irqs = i = 0, mask = 1; i < 16; ++i, mask <<= 1)\n" - "+\tfor (trying_irqs = 0, i = 1, mask = 2; i < 16; ++i, mask <<= 1)\n" - " \t\tif ((mask & possible) && (request_irq(i, &probe_intr, 0, \"NCR-probe\", NULL) == 0))\n" - " \t\t\ttrying_irqs |= mask;\n" - " \n" - " \ttimeout = jiffies + (250 * HZ / 1000);\n" - "-\tprobe_irq = SCSI_IRQ_NONE;\n" - "+\tprobe_irq = NO_IRQ;\n" - " \n" - " \t/*\n" - " \t * A interrupt is triggered whenever BSY = false, SEL = true\n" - "@@ -596,13 +596,13 @@ static int __init __maybe_unused NCR5380\n" - " \tNCR5380_write(OUTPUT_DATA_REG, hostdata->id_mask);\n" - " \tNCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE | ICR_ASSERT_DATA | ICR_ASSERT_SEL);\n" - " \n" - "-\twhile (probe_irq == SCSI_IRQ_NONE && time_before(jiffies, timeout))\n" - "+\twhile (probe_irq == NO_IRQ && time_before(jiffies, timeout))\n" - " \t\tschedule_timeout_uninterruptible(1);\n" - " \t\n" - " \tNCR5380_write(SELECT_ENABLE_REG, 0);\n" - " \tNCR5380_write(INITIATOR_COMMAND_REG, ICR_BASE);\n" - " \n" - "-\tfor (i = 0, mask = 1; i < 16; ++i, mask <<= 1)\n" - "+\tfor (i = 1, mask = 2; i < 16; ++i, mask <<= 1)\n" - " \t\tif (trying_irqs & mask)\n" - " \t\t\tfree_irq(i, NULL);\n" - " \n" - "@@ -730,7 +730,7 @@ static int __maybe_unused NCR5380_show_i\n" - " \n" - " \tSPRINTF(\"\\nBase Addr: 0x%05lX \", (long) instance->base);\n" - " \tSPRINTF(\"io_port: %04x \", (int) instance->io_port);\n" - "-\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\tif (instance->irq == NO_IRQ)\n" - " \t\tSPRINTF(\"IRQ: None.\\n\");\n" - " \telse\n" - " \t\tSPRINTF(\"IRQ: %d.\\n\", instance->irq);\n" - "@@ -1501,7 +1501,7 @@ part2:\n" - " \t}\n" - " \n" - " \tdprintk(NDEBUG_SELECTION, \"scsi%d : target %d selected, going into MESSAGE OUT phase.\\n\", instance->host_no, cmd->device->id);\n" - "-\ttmp[0] = IDENTIFY(((instance->irq == SCSI_IRQ_NONE) ? 0 : 1), cmd->device->lun);\n" - "+\ttmp[0] = IDENTIFY(((instance->irq == NO_IRQ) ? 0 : 1), cmd->device->lun);\n" - " \n" - " \tlen = 1;\n" - " \tcmd->tag = 0;\n" - "Index: linux/drivers/scsi/NCR5380.h\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/NCR5380.h\t2014-11-12 16:10:57.000000000 +1100\n" - "+++ linux/drivers/scsi/NCR5380.h\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -232,12 +232,15 @@\n" - " * Scsi_Host structure\n" - " */\n" - " \n" - "-#define SCSI_IRQ_NONE\t255\n" - " #define DMA_NONE\t255\n" - " #define IRQ_AUTO\t254\n" - " #define DMA_AUTO\t254\n" - " #define PORT_AUTO\t0xffff\t/* autoprobe io port for 53c400a */\n" - " \n" - "+#ifndef NO_IRQ\n" - "+#define NO_IRQ\t\t0\n" - "+#endif\n" - "+\n" - " #define FLAG_HAS_LAST_BYTE_SENT\t\t1\t/* NCR53c81 or better */\n" - " #define FLAG_CHECK_LAST_BYTE_SENT\t2\t/* Only test once */\n" - " #define FLAG_NCR53C400\t\t\t4\t/* NCR53c400 */\n" - "Index: linux/drivers/scsi/dmx3191d.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/dmx3191d.c\t2014-11-12 16:10:57.000000000 +1100\n" - "+++ linux/drivers/scsi/dmx3191d.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -100,7 +100,7 @@ static int dmx3191d_probe_one(struct pci\n" - " \t\t */\n" - " \t\tprintk(KERN_WARNING \"dmx3191: IRQ %d not available - \"\n" - " \t\t\t\t \"switching to polled mode.\\n\", pdev->irq);\n" - "-\t\tshost->irq = SCSI_IRQ_NONE;\n" - "+\t\tshost->irq = NO_IRQ;\n" - " \t}\n" - " \n" - " \tpci_set_drvdata(pdev, shost);\n" - "@@ -113,7 +113,8 @@ static int dmx3191d_probe_one(struct pci\n" - " \treturn 0;\n" - " \n" - " out_free_irq:\n" - "-\tfree_irq(shost->irq, shost);\n" - "+\tif (shost->irq != NO_IRQ)\n" - "+\t\tfree_irq(shost->irq, shost);\n" - " out_release_region:\n" - " \trelease_region(io, DMX3191D_REGION_LEN);\n" - " out_disable_device:\n" - "@@ -130,7 +131,7 @@ static void dmx3191d_remove_one(struct p\n" - " \n" - " \tNCR5380_exit(shost);\n" - " \n" - "-\tif (shost->irq != SCSI_IRQ_NONE)\n" - "+\tif (shost->irq != NO_IRQ)\n" - " \t\tfree_irq(shost->irq, shost);\n" - " \trelease_region(shost->io_port, DMX3191D_REGION_LEN);\n" - " \tpci_disable_device(pdev);\n" - "Index: linux/drivers/scsi/g_NCR5380.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/g_NCR5380.c\t2014-11-12 16:10:59.000000000 +1100\n" - "+++ linux/drivers/scsi/g_NCR5380.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -312,7 +312,7 @@ static int __init generic_NCR5380_detect\n" - " \t\t\tif (pnp_irq_valid(dev, 0))\n" - " \t\t\t\toverrides[count].irq = pnp_irq(dev, 0);\n" - " \t\t\telse\n" - "-\t\t\t\toverrides[count].irq = SCSI_IRQ_NONE;\n" - "+\t\t\t\toverrides[count].irq = NO_IRQ;\n" - " \t\t\tif (pnp_dma_valid(dev, 0))\n" - " \t\t\t\toverrides[count].dma = pnp_dma(dev, 0);\n" - " \t\t\telse\n" - "@@ -432,20 +432,24 @@ static int __init generic_NCR5380_detect\n" - " \t\telse\n" - " \t\t\tinstance->irq = NCR5380_probe_irq(instance, 0xffff);\n" - " \n" - "-\t\tif (instance->irq != SCSI_IRQ_NONE)\n" - "+\t\t/* Compatibility with documented NCR5380 kernel parameters */\n" - "+\t\tif (instance->irq == 255)\n" - "+\t\t\tinstance->irq = NO_IRQ;\n" - "+\n" - "+\t\tif (instance->irq != NO_IRQ)\n" - " \t\t\tif (request_irq(instance->irq, generic_NCR5380_intr,\n" - " \t\t\t\t\t0, \"NCR5380\", instance)) {\n" - " \t\t\t\tprintk(KERN_WARNING \"scsi%d : IRQ%d not free, interrupts disabled\\n\", instance->host_no, instance->irq);\n" - "-\t\t\t\tinstance->irq = SCSI_IRQ_NONE;\n" - "+\t\t\t\tinstance->irq = NO_IRQ;\n" - " \t\t\t}\n" - " \n" - "-\t\tif (instance->irq == SCSI_IRQ_NONE) {\n" - "+\t\tif (instance->irq == NO_IRQ) {\n" - " \t\t\tprintk(KERN_INFO \"scsi%d : interrupts not enabled. for better interactive performance,\\n\", instance->host_no);\n" - " \t\t\tprintk(KERN_INFO \"scsi%d : please jumper the board for a free IRQ.\\n\", instance->host_no);\n" - " \t\t}\n" - " \n" - " \t\tprintk(KERN_INFO \"scsi%d : at \" STRVAL(NCR5380_map_name) \" 0x%x\", instance->host_no, (unsigned int) instance->NCR5380_instance_name);\n" - "-\t\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\t\tif (instance->irq == NO_IRQ)\n" - " \t\t\tprintk(\" interrupts disabled\");\n" - " \t\telse\n" - " \t\t\tprintk(\" irq %d\", instance->irq);\n" - "@@ -486,7 +490,7 @@ static int generic_NCR5380_release_resou\n" - " \tNCR5380_local_declare();\n" - " \tNCR5380_setup(instance);\n" - " \t\n" - "-\tif (instance->irq != SCSI_IRQ_NONE)\n" - "+\tif (instance->irq != NO_IRQ)\n" - " \t\tfree_irq(instance->irq, instance);\n" - " \tNCR5380_exit(instance);\n" - " \n" - "@@ -796,7 +800,7 @@ static int generic_NCR5380_show_info(str\n" - " \tPRINTP(\"NO NCR53C400 driver extensions\\n\");\n" - " #endif\n" - " \tPRINTP(\"Using %s mapping at %s 0x%lx, \" ANDP STRVAL(NCR5380_map_config) ANDP STRVAL(NCR5380_map_name) ANDP scsi_ptr->NCR5380_instance_name);\n" - "-\tif (scsi_ptr->irq == SCSI_IRQ_NONE)\n" - "+\tif (scsi_ptr->irq == NO_IRQ)\n" - " \t\tPRINTP(\"no interrupt\\n\");\n" - " \telse\n" - " \t\tPRINTP(\"on interrupt %d\\n\" ANDP scsi_ptr->irq);\n" - "Index: linux/drivers/scsi/mac_scsi.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/mac_scsi.c\t2014-11-12 16:10:59.000000000 +1100\n" - "+++ linux/drivers/scsi/mac_scsi.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -229,15 +229,15 @@ int __init macscsi_detect(struct scsi_ho\n" - " \n" - " instance->n_io_port = 255;\n" - " \n" - "- if (instance->irq != SCSI_IRQ_NONE)\n" - "+ if (instance->irq != NO_IRQ)\n" - " \tif (request_irq(instance->irq, NCR5380_intr, 0, \"ncr5380\", instance)) {\n" - " \t printk(KERN_WARNING \"scsi%d: IRQ%d not free, interrupts disabled\\n\",\n" - " \t\t instance->host_no, instance->irq);\n" - "-\t instance->irq = SCSI_IRQ_NONE;\n" - "+\t instance->irq = NO_IRQ;\n" - " \t}\n" - " \n" - " printk(KERN_INFO \"scsi%d: generic 5380 at port %lX irq\", instance->host_no, instance->io_port);\n" - "- if (instance->irq == SCSI_IRQ_NONE)\n" - "+ if (instance->irq == NO_IRQ)\n" - " \tprintk (KERN_INFO \"s disabled\");\n" - " else\n" - " \tprintk (KERN_INFO \" %d\", instance->irq);\n" - "@@ -252,7 +252,7 @@ int __init macscsi_detect(struct scsi_ho\n" - " \n" - " int macscsi_release (struct Scsi_Host *shpnt)\n" - " {\n" - "-\tif (shpnt->irq != SCSI_IRQ_NONE)\n" - "+\tif (shpnt->irq != NO_IRQ)\n" - " \t\tfree_irq(shpnt->irq, shpnt);\n" - " \tNCR5380_exit(shpnt);\n" - " \n" - "Index: linux/drivers/scsi/sun3_scsi.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/sun3_scsi.c\t2014-11-12 16:10:59.000000000 +1100\n" - "+++ linux/drivers/scsi/sun3_scsi.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -278,7 +278,7 @@ static int __init sun3scsi_detect(struct\n" - " #ifndef REAL_DMA\n" - " \t\tprintk(\"scsi%d: IRQ%d not free, interrupts disabled\\n\",\n" - " \t\t instance->host_no, instance->irq);\n" - "-\t\tinstance->irq = SCSI_IRQ_NONE;\n" - "+\t\tinstance->irq = NO_IRQ;\n" - " #else\n" - " \t\tprintk(\"scsi%d: IRQ%d not free, bailing out\\n\",\n" - " \t\t instance->host_no, instance->irq);\n" - "@@ -288,7 +288,7 @@ static int __init sun3scsi_detect(struct\n" - " \t\n" - " \tpr_info(\"scsi%d: %s at port %lX irq\", instance->host_no,\n" - " \t\ttpnt->proc_name, instance->io_port);\n" - "-\tif (instance->irq == SCSI_IRQ_NONE)\n" - "+\tif (instance->irq == NO_IRQ)\n" - " \t\tprintk (\"s disabled\");\n" - " \telse\n" - " \t\tprintk (\" %d\", instance->irq);\n" - "@@ -325,7 +325,7 @@ static int __init sun3scsi_detect(struct\n" - " \n" - " static int sun3scsi_release(struct Scsi_Host *shpnt)\n" - " {\n" - "-\tif (shpnt->irq != SCSI_IRQ_NONE)\n" - "+\tif (shpnt->irq != NO_IRQ)\n" - " \t\tfree_irq(shpnt->irq, shpnt);\n" - " \n" - " \tiounmap((void *)sun3_scsi_regp);\n" - "Index: linux/drivers/scsi/arm/oak.c\n" - "===================================================================\n" - "--- linux.orig/drivers/scsi/arm/oak.c\t2014-11-12 16:10:57.000000000 +1100\n" - "+++ linux/drivers/scsi/arm/oak.c\t2014-11-12 16:11:02.000000000 +1100\n" - "@@ -148,7 +148,7 @@ static int oakscsi_probe(struct expansio\n" - " \t\tgoto unreg;\n" - " \t}\n" - " \n" - "-\thost->irq = IRQ_NONE;\n" - "+\thost->irq = NO_IRQ;\n" - " \thost->n_io_port = 255;\n" - " \n" - " \tNCR5380_init(host, 0);" + "An embedded and charset-unspecified text was scrubbed...\n" + "Name: ncr5380-SCSI_IRQ_NONE-fixes\n" + URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141112/bf3ed375/attachment.ksh> -11b25da73a512e8042b61bc6aaaba50b6358443f933b6f362b06d3ede478a766 +6eb54e4d394e2627537cd5c0c0be7a4189c8cfadb0946590f96ff81f715d5bc7
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.