Re: [PATCH] [POWERPC] check for NULL ppc_md.init_IRQ() before calling
From: Sonny Rao <hidden>
Date: 2007-07-09 17:54:55
On Fri, Jul 06, 2007 at 05:16:34AM -0400, Sonny Rao wrote:
On Thu, Jul 05, 2007 at 08:37:34AM -0500, Olof Johansson wrote:quoted
On Sun, Jul 01, 2007 at 08:49:37PM -0400, Sonny Rao wrote:quoted
The pseries platform does not have a default function for init_IRQ and does not install one if it doesn't find or doesn't recognize an interrupt controller in the device tree. Currently, the kernel dies when it tries to call the NULL init_IRQ() function. Clean that up.Doesn't it make more sense to make init_IRQ() check that the pointer is set instead? That'll work for more platforms than just pseries.Yeah, that might be the simplest way. The only reason I can think of to do it this way is that (I think) every single other platform in arch/powerpc statically initializes init_IRQ, with pseries being the oddball. It doesn't matter much to me, so I can post another patch in a bit.
Check to make sure ppc_md.init_IRQ exists before calling it. Signed-off-by: Sonny Rao <redacted>
--- linux/arch/powerpc/kernel/irq.c~orig 2007-07-09 12:46:58.000000000 -0500
+++ linux/arch/powerpc/kernel/irq.c 2007-07-09 12:47:07.000000000 -0500@@ -337,8 +337,8 @@ void do_IRQ(struct pt_regs *regs) void __init init_IRQ(void) { - - ppc_md.init_IRQ(); + if (ppc_md.init_IRQ) + ppc_md.init_IRQ(); #ifdef CONFIG_PPC64 irq_ctx_init(); #endif