X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fpinctrl%2Fpinctrl-nomadik.c;h=7111c3b591303cec2f3daa36d22329989c0847b9;hb=1cd8fd96b0bc58f94d9671c63f5e5e2f3419f688;hp=d7c3ae300fa716555c37dd906f7ed4e74c528393;hpb=7f5a44e98084fc297b27ee7d0940defe87d9bae3;p=karo-tx-linux.git diff --git a/drivers/pinctrl/pinctrl-nomadik.c b/drivers/pinctrl/pinctrl-nomadik.c index d7c3ae300fa7..7111c3b59130 100644 --- a/drivers/pinctrl/pinctrl-nomadik.c +++ b/drivers/pinctrl/pinctrl-nomadik.c @@ -634,6 +634,10 @@ static unsigned int nmk_gpio_irq_startup(struct irq_data *d) { struct nmk_gpio_chip *nmk_chip = irq_data_get_irq_chip_data(d); + if (gpio_lock_as_irq(&nmk_chip->chip, d->hwirq)) + dev_err(nmk_chip->chip.dev, + "unable to lock HW IRQ %lu for IRQ\n", + d->hwirq); clk_enable(nmk_chip->clk); nmk_gpio_irq_unmask(d); return 0; @@ -645,6 +649,7 @@ static void nmk_gpio_irq_shutdown(struct irq_data *d) nmk_gpio_irq_mask(d); clk_disable(nmk_chip->clk); + gpio_unlock_as_irq(&nmk_chip->chip, d->hwirq); } static struct irq_chip nmk_gpio_irq_chip = {