Re: [PATCH] ARM: orion: provide C-style interrupt handler for MULTI_IRQ_HANDLER

From: Sebastian Hesselbarth
Date: Thu Jan 16 2014 - 13:42:20 EST

On 01/16/2014 05:53 PM, Jason Cooper wrote:
On Thu, Jan 16, 2014 at 04:51:27PM +0000, Ian Campbell wrote:
On Thu, 2014-01-16 at 11:48 -0500, Jason Cooper wrote:

On Thu, Jan 16, 2014 at 09:10:31AM +0100, Sebastian Hesselbarth wrote:
DT-enabled Marvell Kirkwood and Dove SoCs make use of an irqchip
driver. As expected for irqchip drivers, it uses a C-style
interrupt handler and therefore selects MULTI_IRQ_HANDLER.

Now, compiling a kernel with both non-DT and DT support enabled,
selecting MULTI_IRQ_HANDLER will break ASM irq handler used by
non-DT boards.

Therefore, we provide a C-style irq handler even for non-DT boards,
if MULTI_IRQ_HANDLER is set. By installing the C-style irq handler
in orion_irq_init this is transparent to all non-DT board files.

While the regression report was filed on Marvell Kirkwood, also
Marvell Dove non-DT boards are affected and fixed by this patch.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx>
Tested-by: Ian Campbell <ijc@xxxxxxxxxxxxxx>
Reported-by: Ian Campbell <ijc@xxxxxxxxxxxxxx>
Fixes: 2326f04321a9 ("ARM: kirkwood: convert to DT irqchip and clocksource")
Fixes: f07d73e33d0e ("ARM: dove: convert to DT irqchip and clocksource")
Compared to the two patch version sent on Ian's regression report,
I cooked this down to a single patch only touching plat-orion/irq.c.
I also dropped Orion5x and MV78x00, as they not yet select MULTI_IRQ_HANDLER
at all. Instead I added a comment about taking care of them, as soon as
they move over to an irqchip driver themselves.

I have not yet Cc'ed this patch to -stable to get some discussion and
an Acked-by from Jason or Andrew, too.

Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: Andrew Lunn <andrew@xxxxxxx>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Ian Campbell <ijc@xxxxxxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
arch/arm/plat-orion/irq.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Applied to mvebu/fixes with Andrew's Ack. It's too late for v3.13, so
it'll be the first thing sent for v3.14.

Please can it also be tagged for stable backport to 3.12+3.13.

Yes, I forgot to mention it, but that is already done. ;-)

Ok, thanks!

Out of curiosity, does that adding the Cc tag to the commit queue
it automatically as soon as it will be pulled by Linus?

@Ian: Thanks for hunting this down, please keep bothering us with
bug reports :)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at