NO_IRQ is used to check the return of irq_of_parse_and_map(). On some architecture NO_IRQ is 0, on other architectures it is -1. irq_of_parse_and_map() returns 0 on error, independent of NO_IRQ. So use 0 instead of using NO_IRQ. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx> --- drivers/scsi/mac_scsi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/mac_scsi.c b/drivers/scsi/mac_scsi.c index 2e511697fce3..e4df2b501e8b 100644 --- a/drivers/scsi/mac_scsi.c +++ b/drivers/scsi/mac_scsi.c @@ -478,7 +478,7 @@ static int __init mac_scsi_probe(struct platform_device *pdev) if (irq) instance->irq = irq->start; else - instance->irq = NO_IRQ; + instance->irq = 0; hostdata = shost_priv(instance); hostdata->base = pio_mem->start; @@ -495,7 +495,7 @@ static int __init mac_scsi_probe(struct platform_device *pdev) if (error) goto fail_init; - if (instance->irq != NO_IRQ) { + if (instance->irq) { error = request_irq(instance->irq, macscsi_intr, IRQF_SHARED, "NCR5380", instance); if (error) @@ -514,7 +514,7 @@ static int __init mac_scsi_probe(struct platform_device *pdev) return 0; fail_host: - if (instance->irq != NO_IRQ) + if (instance->irq) free_irq(instance->irq, instance); fail_irq: NCR5380_exit(instance); @@ -528,7 +528,7 @@ static int __exit mac_scsi_remove(struct platform_device *pdev) struct Scsi_Host *instance = platform_get_drvdata(pdev); scsi_remove_host(instance); - if (instance->irq != NO_IRQ) + if (instance->irq) free_irq(instance->irq, instance); NCR5380_exit(instance); scsi_host_put(instance); -- 2.37.1