mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
31 lines
1.0 KiB
Diff
31 lines
1.0 KiB
Diff
|
From d11b1d7f7df4bd1a5ab4df35b2a5c8569f2eacbe Mon Sep 17 00:00:00 2001
|
||
|
From: Phil Elwell <phil@raspberrypi.com>
|
||
|
Date: Thu, 4 Apr 2024 10:47:46 +0100
|
||
|
Subject: [PATCH 1006/1085] pinctrl: rp1: Use the correct per-bank GPIO base
|
||
|
|
||
|
The GPIO start for each bank - min_gpio - must be used in the IRQ
|
||
|
handler.
|
||
|
|
||
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||
|
---
|
||
|
drivers/pinctrl/pinctrl-rp1.c | 4 ++--
|
||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
--- a/drivers/pinctrl/pinctrl-rp1.c
|
||
|
+++ b/drivers/pinctrl/pinctrl-rp1.c
|
||
|
@@ -781,12 +781,12 @@ static void rp1_gpio_irq_handler(struct
|
||
|
|
||
|
ints = readl(pc->gpio_base + bank->ints_offset);
|
||
|
for_each_set_bit(b, &ints, 32) {
|
||
|
- struct rp1_pin_info *pin = rp1_get_pin(chip, b);
|
||
|
+ struct rp1_pin_info *pin = rp1_get_pin(chip, bank->min_gpio + b);
|
||
|
|
||
|
writel(RP1_GPIO_CTRL_IRQRESET,
|
||
|
pin->gpio + RP1_SET_OFFSET + RP1_GPIO_CTRL);
|
||
|
generic_handle_irq(irq_linear_revmap(pc->gpio_chip.irq.domain,
|
||
|
- bank->gpio_offset + b));
|
||
|
+ bank->min_gpio + b));
|
||
|
}
|
||
|
|
||
|
chained_irq_exit(host_chip, desc);
|