aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinctrl-nomadik.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pinctrl/pinctrl-nomadik.c')
-rw-r--r--drivers/pinctrl/pinctrl-nomadik.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/pinctrl/pinctrl-nomadik.c b/drivers/pinctrl/pinctrl-nomadik.c
index fae10b311551..6030a513f3c4 100644
--- a/drivers/pinctrl/pinctrl-nomadik.c
+++ b/drivers/pinctrl/pinctrl-nomadik.c
@@ -827,16 +827,14 @@ static void __nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc,
827{ 827{
828 struct nmk_gpio_chip *nmk_chip; 828 struct nmk_gpio_chip *nmk_chip;
829 struct irq_chip *host_chip = irq_get_chip(irq); 829 struct irq_chip *host_chip = irq_get_chip(irq);
830 unsigned int first_irq;
831 830
832 chained_irq_enter(host_chip, desc); 831 chained_irq_enter(host_chip, desc);
833 832
834 nmk_chip = irq_get_handler_data(irq); 833 nmk_chip = irq_get_handler_data(irq);
835 first_irq = nmk_chip->domain->revmap_data.legacy.first_irq;
836 while (status) { 834 while (status) {
837 int bit = __ffs(status); 835 int bit = __ffs(status);
838 836
839 generic_handle_irq(first_irq + bit); 837 generic_handle_irq(irq_find_mapping(nmk_chip->domain, bit));
840 status &= ~BIT(bit); 838 status &= ~BIT(bit);
841 } 839 }
842 840