diff options
author | Lad, Prabhakar <prabhakar.csengg@gmail.com> | 2013-11-08 12:15:55 +0530 |
---|---|---|
committer | Sekhar Nori <nsekhar@ti.com> | 2013-11-21 19:41:51 +0530 |
commit | 34af1ab4a2cc97721a00fce19d9fbafd9ff4b300 (patch) | |
tree | 9c7a23ac0f62dd4719da0b042ecdd9fe3aaa0932 | |
parent | 527d1511310a89650000081869260394e20c7013 (diff) | |
download | talos-obmc-linux-34af1ab4a2cc97721a00fce19d9fbafd9ff4b300.tar.gz talos-obmc-linux-34af1ab4a2cc97721a00fce19d9fbafd9ff4b300.zip |
gpio: davinci: fix check for unbanked gpio
This patch fixes a check for offset in gpio_to_irq_unbanked()
and also assigns gpio_irq, gpio_unbanked of chips[0] to
appropriate values which is used in gpio_to_irq_unbanked()
function.
Without this patch, unbanked IRQ handling is broken.
Reported-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
-rw-r--r-- | drivers/gpio/gpio-davinci.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c index 8847adf392b7..84be70157ad6 100644 --- a/drivers/gpio/gpio-davinci.c +++ b/drivers/gpio/gpio-davinci.c @@ -327,7 +327,7 @@ static int gpio_to_irq_unbanked(struct gpio_chip *chip, unsigned offset) * NOTE: we assume for now that only irqs in the first gpio_chip * can provide direct-mapped IRQs to AINTC (up to 32 GPIOs). */ - if (offset < d->irq_base) + if (offset < d->gpio_unbanked) return d->gpio_irq + offset; else return -ENODEV; @@ -419,6 +419,8 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev) /* pass "bank 0" GPIO IRQs to AINTC */ chips[0].chip.to_irq = gpio_to_irq_unbanked; + chips[0].gpio_irq = bank_irq; + chips[0].gpio_unbanked = pdata->gpio_unbanked; binten = BIT(0); /* AINTC handles mask/unmask; GPIO handles triggering */ |