[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdZ_hd3eVm6Z6ZtvynxX_OXc5Fn-REjmGwgmGasoQRr=jw@mail.gmail.com>
Date: Fri, 29 Nov 2013 09:39:58 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: Grygorii Strashko <grygorii.strashko@...com>
Cc: Santosh Shilimkar <santosh.shilimkar@...com>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"Nori, Sekhar" <nsekhar@...com>,
Prabhakar Lad <prabhakar.csengg@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"davinci-linux-open-source@...ux.davincidsp.com"
<davinci-linux-open-source@...ux.davincidsp.com>
Subject: Re: [RFC v1 3/9] gpio: davinci: use chained_irq_enter/chained_irq_exit
API
On Tue, Nov 26, 2013 at 8:40 PM, Grygorii Strashko
<grygorii.strashko@...com> wrote:
> It's unsafe to call IRQ chip callbacks (.irq_mask/irq_unmask/irq_ack)
> from chained IRQ handler directly. Because, Davinci GPIO block is used
> by different SoCs, which, in turn, have different Main IRQ controllers
> (Davinci - aintc, cp-intc; Keystone - arm-gic) which may introduce
> diffrent set of IRQ chip callbacks. As result, call of
> gpio_irq_handler() on Keysone will simply cause crash the system,
> because ARM-GIC implements .irq_eoi() instead of .irq_ack().
>
> Hence, fix it by using Kernel chained_irq_enter/chained_irq_exit APIs as
> they are intended to handle exact such cases.
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@...com>
Acked-by: Linus Walleij <linus.walleij@...aro.org>
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists