aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/g_NCR5380.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/g_NCR5380.c')
-rw-r--r--drivers/scsi/g_NCR5380.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index 151e1ad8fe9f..a2b70fb4c67f 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -312,7 +312,7 @@ static int __init generic_NCR5380_detect(struct scsi_host_template *tpnt)
312 if (pnp_irq_valid(dev, 0)) 312 if (pnp_irq_valid(dev, 0))
313 overrides[count].irq = pnp_irq(dev, 0); 313 overrides[count].irq = pnp_irq(dev, 0);
314 else 314 else
315 overrides[count].irq = SCSI_IRQ_NONE; 315 overrides[count].irq = NO_IRQ;
316 if (pnp_dma_valid(dev, 0)) 316 if (pnp_dma_valid(dev, 0))
317 overrides[count].dma = pnp_dma(dev, 0); 317 overrides[count].dma = pnp_dma(dev, 0);
318 else 318 else
@@ -432,20 +432,24 @@ static int __init generic_NCR5380_detect(struct scsi_host_template *tpnt)
432 else 432 else
433 instance->irq = NCR5380_probe_irq(instance, 0xffff); 433 instance->irq = NCR5380_probe_irq(instance, 0xffff);
434 434
435 if (instance->irq != SCSI_IRQ_NONE) 435 /* Compatibility with documented NCR5380 kernel parameters */
436 if (instance->irq == 255)
437 instance->irq = NO_IRQ;
438
439 if (instance->irq != NO_IRQ)
436 if (request_irq(instance->irq, generic_NCR5380_intr, 440 if (request_irq(instance->irq, generic_NCR5380_intr,
437 0, "NCR5380", instance)) { 441 0, "NCR5380", instance)) {
438 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq); 442 printk(KERN_WARNING "scsi%d : IRQ%d not free, interrupts disabled\n", instance->host_no, instance->irq);
439 instance->irq = SCSI_IRQ_NONE; 443 instance->irq = NO_IRQ;
440 } 444 }
441 445
442 if (instance->irq == SCSI_IRQ_NONE) { 446 if (instance->irq == NO_IRQ) {
443 printk(KERN_INFO "scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); 447 printk(KERN_INFO "scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no);
444 printk(KERN_INFO "scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); 448 printk(KERN_INFO "scsi%d : please jumper the board for a free IRQ.\n", instance->host_no);
445 } 449 }
446 450
447 printk(KERN_INFO "scsi%d : at " STRVAL(NCR5380_map_name) " 0x%x", instance->host_no, (unsigned int) instance->NCR5380_instance_name); 451 printk(KERN_INFO "scsi%d : at " STRVAL(NCR5380_map_name) " 0x%x", instance->host_no, (unsigned int) instance->NCR5380_instance_name);
448 if (instance->irq == SCSI_IRQ_NONE) 452 if (instance->irq == NO_IRQ)
449 printk(" interrupts disabled"); 453 printk(" interrupts disabled");
450 else 454 else
451 printk(" irq %d", instance->irq); 455 printk(" irq %d", instance->irq);
@@ -486,7 +490,7 @@ static int generic_NCR5380_release_resources(struct Scsi_Host *instance)
486 NCR5380_local_declare(); 490 NCR5380_local_declare();
487 NCR5380_setup(instance); 491 NCR5380_setup(instance);
488 492
489 if (instance->irq != SCSI_IRQ_NONE) 493 if (instance->irq != NO_IRQ)
490 free_irq(instance->irq, instance); 494 free_irq(instance->irq, instance);
491 NCR5380_exit(instance); 495 NCR5380_exit(instance);
492 496
@@ -796,7 +800,7 @@ static int generic_NCR5380_show_info(struct seq_file *m, struct Scsi_Host *scsi_
796 PRINTP("NO NCR53C400 driver extensions\n"); 800 PRINTP("NO NCR53C400 driver extensions\n");
797#endif 801#endif
798 PRINTP("Using %s mapping at %s 0x%lx, " ANDP STRVAL(NCR5380_map_config) ANDP STRVAL(NCR5380_map_name) ANDP scsi_ptr->NCR5380_instance_name); 802 PRINTP("Using %s mapping at %s 0x%lx, " ANDP STRVAL(NCR5380_map_config) ANDP STRVAL(NCR5380_map_name) ANDP scsi_ptr->NCR5380_instance_name);
799 if (scsi_ptr->irq == SCSI_IRQ_NONE) 803 if (scsi_ptr->irq == NO_IRQ)
800 PRINTP("no interrupt\n"); 804 PRINTP("no interrupt\n");
801 else 805 else
802 PRINTP("on interrupt %d\n" ANDP scsi_ptr->irq); 806 PRINTP("on interrupt %d\n" ANDP scsi_ptr->irq);