summaryrefslogtreecommitdiffstats
path: root/drivers/macintosh/smu.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2016-09-06 07:53:24 -0400
committerMichael Ellerman <mpe@ellerman.id.au>2016-09-20 06:57:12 -0400
commitef24ba7091517d2bbf9ba2cb4256c0dccd51d248 (patch)
treef988a2b82eab1ec83aa2a08e34190a9a32b4035f /drivers/macintosh/smu.c
parent9d82fd2fae925efdf546cc25afdc664a2e3a2d9f (diff)
powerpc: Remove all usages of NO_IRQ
NO_IRQ has been == 0 on powerpc for just over ten years (since commit 0ebfff1491ef ("[POWERPC] Add new interrupt mapping core and change platforms to use it")). It's also 0 on most other arches. Although it's fairly harmless, every now and then it causes confusion when a driver is built on powerpc and another arch which doesn't define NO_IRQ. There's at least 6 definitions of NO_IRQ in drivers/, at least some of which are to work around that problem. So we'd like to remove it. This is fairly trivial in the arch code, we just convert: if (irq == NO_IRQ) to if (!irq) if (irq != NO_IRQ) to if (irq) irq = NO_IRQ; to irq = 0; return NO_IRQ; to return 0; And a few other odd cases as well. At least for now we keep the #define NO_IRQ, because there is driver code that uses NO_IRQ and the fixes to remove those will go via other trees. Note we also change some occurrences in PPC sound drivers, drivers/ps3, and drivers/macintosh. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/macintosh/smu.c')
-rw-r--r--drivers/macintosh/smu.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c
index d6f72c826c1c..08edb2c25b60 100644
--- a/drivers/macintosh/smu.c
+++ b/drivers/macintosh/smu.c
@@ -279,7 +279,7 @@ int smu_queue_cmd(struct smu_cmd *cmd)
279 spin_unlock_irqrestore(&smu->lock, flags); 279 spin_unlock_irqrestore(&smu->lock, flags);
280 280
281 /* Workaround for early calls when irq isn't available */ 281 /* Workaround for early calls when irq isn't available */
282 if (!smu_irq_inited || smu->db_irq == NO_IRQ) 282 if (!smu_irq_inited || !smu->db_irq)
283 smu_spinwait_cmd(cmd); 283 smu_spinwait_cmd(cmd);
284 284
285 return 0; 285 return 0;
@@ -498,8 +498,8 @@ int __init smu_init (void)
498 INIT_LIST_HEAD(&smu->cmd_list); 498 INIT_LIST_HEAD(&smu->cmd_list);
499 INIT_LIST_HEAD(&smu->cmd_i2c_list); 499 INIT_LIST_HEAD(&smu->cmd_i2c_list);
500 smu->of_node = np; 500 smu->of_node = np;
501 smu->db_irq = NO_IRQ; 501 smu->db_irq = 0;
502 smu->msg_irq = NO_IRQ; 502 smu->msg_irq = 0;
503 503
504 /* smu_cmdbuf_abs is in the low 2G of RAM, can be converted to a 504 /* smu_cmdbuf_abs is in the low 2G of RAM, can be converted to a
505 * 32 bits value safely 505 * 32 bits value safely
@@ -587,13 +587,13 @@ static int smu_late_init(void)
587 587
588 if (smu->db_node) { 588 if (smu->db_node) {
589 smu->db_irq = irq_of_parse_and_map(smu->db_node, 0); 589 smu->db_irq = irq_of_parse_and_map(smu->db_node, 0);
590 if (smu->db_irq == NO_IRQ) 590 if (!smu->db_irq)
591 printk(KERN_ERR "smu: failed to map irq for node %s\n", 591 printk(KERN_ERR "smu: failed to map irq for node %s\n",
592 smu->db_node->full_name); 592 smu->db_node->full_name);
593 } 593 }
594 if (smu->msg_node) { 594 if (smu->msg_node) {
595 smu->msg_irq = irq_of_parse_and_map(smu->msg_node, 0); 595 smu->msg_irq = irq_of_parse_and_map(smu->msg_node, 0);
596 if (smu->msg_irq == NO_IRQ) 596 if (!smu->msg_irq)
597 printk(KERN_ERR "smu: failed to map irq for node %s\n", 597 printk(KERN_ERR "smu: failed to map irq for node %s\n",
598 smu->msg_node->full_name); 598 smu->msg_node->full_name);
599 } 599 }
@@ -602,23 +602,23 @@ static int smu_late_init(void)
602 * Try to request the interrupts 602 * Try to request the interrupts
603 */ 603 */
604 604
605 if (smu->db_irq != NO_IRQ) { 605 if (smu->db_irq) {
606 if (request_irq(smu->db_irq, smu_db_intr, 606 if (request_irq(smu->db_irq, smu_db_intr,
607 IRQF_SHARED, "SMU doorbell", smu) < 0) { 607 IRQF_SHARED, "SMU doorbell", smu) < 0) {
608 printk(KERN_WARNING "SMU: can't " 608 printk(KERN_WARNING "SMU: can't "
609 "request interrupt %d\n", 609 "request interrupt %d\n",
610 smu->db_irq); 610 smu->db_irq);
611 smu->db_irq = NO_IRQ; 611 smu->db_irq = 0;
612 } 612 }
613 } 613 }
614 614
615 if (smu->msg_irq != NO_IRQ) { 615 if (smu->msg_irq) {
616 if (request_irq(smu->msg_irq, smu_msg_intr, 616 if (request_irq(smu->msg_irq, smu_msg_intr,
617 IRQF_SHARED, "SMU message", smu) < 0) { 617 IRQF_SHARED, "SMU message", smu) < 0) {
618 printk(KERN_WARNING "SMU: can't " 618 printk(KERN_WARNING "SMU: can't "
619 "request interrupt %d\n", 619 "request interrupt %d\n",
620 smu->msg_irq); 620 smu->msg_irq);
621 smu->msg_irq = NO_IRQ; 621 smu->msg_irq = 0;
622 } 622 }
623 } 623 }
624 624