Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <nikita.shubin@maquefel.me>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

authored by

Nikita Shubin and committed by
Bartosz Golaszewski
0f04cdbd 37870358

+1 -1
+1 -1
drivers/gpio/gpio-ep93xx.c
··· 148 148 */ 149 149 struct irq_chip *irqchip = irq_desc_get_chip(desc); 150 150 unsigned int irq = irq_desc_get_irq(desc); 151 - int port_f_idx = ((irq + 1) & 7) ^ 4; /* {19..22,47..50} -> {0..7} */ 151 + int port_f_idx = (irq & 7) ^ 4; /* {20..23,48..51} -> {0..7} */ 152 152 int gpio_irq = EP93XX_GPIO_F_IRQ_BASE + port_f_idx; 153 153 154 154 chained_irq_enter(irqchip, desc);