Re: [PATCH 1/2] gpio: davinci: Fix a check for unbanked gpio

From: Sekhar Nori
Date: Tue Nov 12 2013 - 01:19:26 EST


On Friday 08 November 2013 12:15 PM, Prabhakar Lad wrote:
> From: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx>
>
> 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@xxxxxx>
> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>

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 */
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/