[PATCH 1/2] gpio: davinci: Fix a check for unbanked gpio
Sekhar Nori
nsekhar at ti.com
Tue Nov 12 01:18:19 EST 2013
On Friday 08 November 2013 12:15 PM, Prabhakar Lad wrote:
> From: "Lad, Prabhakar" <prabhakar.csengg at gmail.com>
>
> 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.
>
> Reported-by: Grygorii Strashko <grygorii.strashko at ti.com>
> Signed-off-by: Lad, Prabhakar <prabhakar.csengg at gmail.com>
You should note explicitly that this patch fixes broken unbanked IRQ
support. You mostly just described what you are doing.
I will fixup while committing.
Thanks,
Sekhar
> ---
> drivers/gpio/gpio-davinci.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
> index 8847adf..84be701 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 */
>
More information about the linux-arm-kernel
mailing list