2023-01-25 08:32:47

by Nikita Shubin

[permalink] [raw]
Subject: [PATCH v1 1/3] gpio: ep93xx: Fix port F hwirq numbers in handler

Fix wrong translation of irq numbers in port F handler, as ep93xx hwirqs
increased by 1, we should simply decrease them by 1 in translation.

Fixes: 482c27273f52 ("ARM: ep93xx: renumber interrupts")
Signed-off-by: Nikita Shubin <[email protected]>
---
drivers/gpio/gpio-ep93xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
index 2e1779709113..7edcdc575080 100644
--- a/drivers/gpio/gpio-ep93xx.c
+++ b/drivers/gpio/gpio-ep93xx.c
@@ -148,7 +148,7 @@ static void ep93xx_gpio_f_irq_handler(struct irq_desc *desc)
*/
struct irq_chip *irqchip = irq_desc_get_chip(desc);
unsigned int irq = irq_desc_get_irq(desc);
- int port_f_idx = ((irq + 1) & 7) ^ 4; /* {19..22,47..50} -> {0..7} */
+ int port_f_idx = (irq & 7) ^ 4; /* {20..23,48..51} -> {0..7} */
int gpio_irq = EP93XX_GPIO_F_IRQ_BASE + port_f_idx;

chained_irq_enter(irqchip, desc);
--
2.37.4



2023-01-25 09:40:25

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v1 1/3] gpio: ep93xx: Fix port F hwirq numbers in handler

On Wed, Jan 25, 2023, at 09:30, Nikita Shubin wrote:
> Fix wrong translation of irq numbers in port F handler, as ep93xx hwirqs
> increased by 1, we should simply decrease them by 1 in translation.
>
> Fixes: 482c27273f52 ("ARM: ep93xx: renumber interrupts")
> Signed-off-by: Nikita Shubin <[email protected]>

Cc: [email protected] # v5.19+
Acked-by: Arnd Bergmann <[email protected]>


> ---
> drivers/gpio/gpio-ep93xx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
> index 2e1779709113..7edcdc575080 100644
> --- a/drivers/gpio/gpio-ep93xx.c
> +++ b/drivers/gpio/gpio-ep93xx.c
> @@ -148,7 +148,7 @@ static void ep93xx_gpio_f_irq_handler(struct irq_desc *desc)
> */
> struct irq_chip *irqchip = irq_desc_get_chip(desc);
> unsigned int irq = irq_desc_get_irq(desc);
> - int port_f_idx = ((irq + 1) & 7) ^ 4; /* {19..22,47..50} -> {0..7} */
> + int port_f_idx = (irq & 7) ^ 4; /* {20..23,48..51} -> {0..7} */
> int gpio_irq = EP93XX_GPIO_F_IRQ_BASE + port_f_idx;
>
> chained_irq_enter(irqchip, desc);
> --
> 2.37.4

2023-01-25 12:43:08

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH v1 1/3] gpio: ep93xx: Fix port F hwirq numbers in handler

On Wed, Jan 25, 2023 at 9:30 AM Nikita Shubin <[email protected]> wrote:
>
> Fix wrong translation of irq numbers in port F handler, as ep93xx hwirqs
> increased by 1, we should simply decrease them by 1 in translation.
>
> Fixes: 482c27273f52 ("ARM: ep93xx: renumber interrupts")
> Signed-off-by: Nikita Shubin <[email protected]>
> ---
> drivers/gpio/gpio-ep93xx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
> index 2e1779709113..7edcdc575080 100644
> --- a/drivers/gpio/gpio-ep93xx.c
> +++ b/drivers/gpio/gpio-ep93xx.c
> @@ -148,7 +148,7 @@ static void ep93xx_gpio_f_irq_handler(struct irq_desc *desc)
> */
> struct irq_chip *irqchip = irq_desc_get_chip(desc);
> unsigned int irq = irq_desc_get_irq(desc);
> - int port_f_idx = ((irq + 1) & 7) ^ 4; /* {19..22,47..50} -> {0..7} */
> + int port_f_idx = (irq & 7) ^ 4; /* {20..23,48..51} -> {0..7} */
> int gpio_irq = EP93XX_GPIO_F_IRQ_BASE + port_f_idx;
>
> chained_irq_enter(irqchip, desc);
> --
> 2.37.4
>

Queued for fixes, thanks!

Bart