path: root/drivers
diff options
authorPhil Elwell <>2015-02-26 09:58:22 +0000
committerpopcornmix <>2015-05-18 14:11:54 +0100
commit8b23b10441c556796cfbb669409408cf5b7af135 (patch)
treee3acd0f7d6d30e1fe27535a040876fcb3944aa8e /drivers
parent32a5da28f642d33df571e87b83ddc6912aa7525e (diff)
pinctrl-bcm2835: Only request the interrupts listed in the DTB
Although the GPIO controller can generate three interrupts (four counting the common one), the device tree files currently only specify two. In the absence of the third, simply don't register that interrupt (as opposed to registering 0), which has the effect of making it impossible to generate interrupts for GPIOs 46-53 which, since they share pins with the SD card interface, is unlikely to be a problem.
Diffstat (limited to 'drivers')
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-bcm2835.c b/drivers/pinctrl/pinctrl-bcm2835.c
index ae68710e7ac4..87b7a4a0ecb7 100644
--- a/drivers/pinctrl/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/pinctrl-bcm2835.c
@@ -1036,6 +1036,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
int len;
char *name;
pc->irq[i] = irq_of_parse_and_map(np, i);
+ if (pc->irq[i] == 0)
+ break;
pc->irq_data[i].pc = pc;
pc->irq_data[i].irqgroup = i;