summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-09-27 14:14:09 +0200
committerLinus Walleij <linus.walleij@linaro.org>2012-09-28 09:31:26 +0200
commit95f0bc9bf0db600fbefda9d2157b95d5ff55e783 (patch)
tree55f311babceacd23ed477ab5618afefdcb3c718d /drivers/pinctrl
parentpinctrl: sirf: add lost chained_irq_enter and exit in sirfsoc_gpio_handle_irq (diff)
downloadlinux-95f0bc9bf0db600fbefda9d2157b95d5ff55e783.tar.xz
linux-95f0bc9bf0db600fbefda9d2157b95d5ff55e783.zip
pinctrl/nomadik: use irq_find_mapping()
The code was using a homegrown method of looking up the offset from the irq domain, not to be encouraged. Use the proper irq_find_mapping() call instead. Cc: Lee Jones <lee.jones@linaro.org> Cc: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-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,
{
struct nmk_gpio_chip *nmk_chip;
struct irq_chip *host_chip = irq_get_chip(irq);
- unsigned int first_irq;
chained_irq_enter(host_chip, desc);
nmk_chip = irq_get_handler_data(irq);
- first_irq = nmk_chip->domain->revmap_data.legacy.first_irq;
while (status) {
int bit = __ffs(status);
- generic_handle_irq(first_irq + bit);
+ generic_handle_irq(irq_find_mapping(nmk_chip->domain, bit));
status &= ~BIT(bit);
}