diff options
author | Nishanth Menon <nm@ti.com> | 2014-06-26 03:10:19 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-06-30 15:11:16 -0400 |
commit | 1d50d2ce6337724d30055bdbe082236cc86e6785 (patch) | |
tree | a6995b7b09b5f969b9413bc565a183fef12e5295 /drivers/irqchip/irq-crossbar.c | |
parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) |
irqchip: crossbar: Dont use '0' to mark reserved interrupts
Today '0' is actually reserved, but may not be the same in the future.
So, use a flag to mark the GIC interrupts that are reserved.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Sricharan R <r.sricharan@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Link: https://lkml.kernel.org/r/1403766634-18543-2-git-send-email-r.sricharan@ti.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'drivers/irqchip/irq-crossbar.c')
-rw-r--r-- | drivers/irqchip/irq-crossbar.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-crossbar.c b/drivers/irqchip/irq-crossbar.c index 3d15d16a7088..20105bcdf408 100644 --- a/drivers/irqchip/irq-crossbar.c +++ b/drivers/irqchip/irq-crossbar.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/irqchip/arm-gic.h> | 17 | #include <linux/irqchip/arm-gic.h> |
18 | 18 | ||
19 | #define IRQ_FREE -1 | 19 | #define IRQ_FREE -1 |
20 | #define IRQ_RESERVED -2 | ||
20 | #define GIC_IRQ_START 32 | 21 | #define GIC_IRQ_START 32 |
21 | 22 | ||
22 | /* | 23 | /* |
@@ -139,7 +140,7 @@ static int __init crossbar_of_init(struct device_node *node) | |||
139 | pr_err("Invalid reserved entry\n"); | 140 | pr_err("Invalid reserved entry\n"); |
140 | goto err3; | 141 | goto err3; |
141 | } | 142 | } |
142 | cb->irq_map[entry] = 0; | 143 | cb->irq_map[entry] = IRQ_RESERVED; |
143 | } | 144 | } |
144 | } | 145 | } |
145 | 146 | ||
@@ -170,7 +171,7 @@ static int __init crossbar_of_init(struct device_node *node) | |||
170 | * reserved irqs. so find and store the offsets once. | 171 | * reserved irqs. so find and store the offsets once. |
171 | */ | 172 | */ |
172 | for (i = 0; i < max; i++) { | 173 | for (i = 0; i < max; i++) { |
173 | if (!cb->irq_map[i]) | 174 | if (cb->irq_map[i] == IRQ_RESERVED) |
174 | continue; | 175 | continue; |
175 | 176 | ||
176 | cb->register_offsets[i] = reserved; | 177 | cb->register_offsets[i] = reserved; |