2021-08-21 08:54:34 +00:00
|
|
|
From 9ab71458b5475c7d8d42896721e593f6ef1a5c7a Mon Sep 17 00:00:00 2001
|
|
|
|
From: Phil Elwell <phil@raspberrypi.com>
|
|
|
|
Date: Tue, 25 Feb 2020 17:38:20 +0000
|
|
|
|
Subject: [PATCH] pinctrl: bcm2835: Accept fewer than expected IRQs
|
|
|
|
|
|
|
|
The downstream .dts files only request two GPIO IRQs. Truncate the
|
|
|
|
array of parent IRQs when irq_of_parse_and_map returns 0.
|
|
|
|
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|
|
|
---
|
|
|
|
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 8 ++++++--
|
|
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
|
|
|
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
2022-02-08 19:25:03 +00:00
|
|
|
@@ -1290,9 +1290,13 @@ static int bcm2835_pinctrl_probe(struct
|
2021-08-21 08:54:34 +00:00
|
|
|
char *name;
|
|
|
|
|
|
|
|
girq->parents[i] = irq_of_parse_and_map(np, i);
|
|
|
|
- if (!is_7211)
|
|
|
|
+ if (!is_7211) {
|
|
|
|
+ if (!girq->parents[i]) {
|
|
|
|
+ girq->num_parents = i;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
continue;
|
|
|
|
-
|
|
|
|
+ }
|
|
|
|
/* Skip over the all banks interrupts */
|
|
|
|
pc->wake_irq[i] = irq_of_parse_and_map(np, i +
|
|
|
|
BCM2835_NUM_IRQS + 1);
|