[PATCH] lpc32xx: irq - Set the chain handlers after setting up the IRQ domain
Roland Stigge
stigge at antcom.de
Fri Nov 2 05:01:49 EDT 2012
On 11/01/2012 01:23 PM, Alban Bedel wrote:
> Signed-off-by: Alban Bedel <alban.bedel at avionic-design.de>
> ---
> arch/arm/mach-lpc32xx/irq.c | 12 +++++++-----
> 1 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/mach-lpc32xx/irq.c b/arch/arm/mach-lpc32xx/irq.c
> index 3c63327..b92dc25 100644
> --- a/arch/arm/mach-lpc32xx/irq.c
> +++ b/arch/arm/mach-lpc32xx/irq.c
> @@ -448,10 +448,6 @@ void __init lpc32xx_init_irq(void)
> __raw_writel(0, LPC32XX_INTC_MASK(LPC32XX_SIC1_BASE));
> __raw_writel(0, LPC32XX_INTC_MASK(LPC32XX_SIC2_BASE));
>
> - /* MIC SUBIRQx interrupts will route handling to the chain handlers */
> - irq_set_chained_handler(IRQ_LPC32XX_SUB1IRQ, lpc32xx_sic1_handler);
> - irq_set_chained_handler(IRQ_LPC32XX_SUB2IRQ, lpc32xx_sic2_handler);
> -
> /* Initially disable all wake events */
> __raw_writel(0, LPC32XX_CLKPWR_P01_ER);
> __raw_writel(0, LPC32XX_CLKPWR_INT_ER);
> @@ -485,6 +481,12 @@ void __init lpc32xx_init_irq(void)
> irq_base, 0,
> &irq_domain_simple_ops,
> NULL);
> - if (!lpc32xx_mic_domain)
> + if (!lpc32xx_mic_domain) {
> panic("Unable to add MIC irq domain\n");
> + return;
> + }
> +
> + /* MIC SUBIRQx interrupts will route handling to the chain handlers */
> + irq_set_chained_handler(IRQ_LPC32XX_SUB1IRQ, lpc32xx_sic1_handler);
> + irq_set_chained_handler(IRQ_LPC32XX_SUB2IRQ, lpc32xx_sic2_handler);
> }
Thanks for your patch!
I already posted basically the same change on 2012-10-28 already which
is part of my patch set for LPC32xx to be merged into arm-soc.git (will
do a pull request later). Fixing another irq bug in this platform/irq also.
Please also note that panic() doesn't return, so I won't include the
respective new return that you added.
Thanks,
Roland
More information about the linux-arm-kernel
mailing list