[PATCH] pseries: don't die if unknown/missing interrupt controller property

Sonny Rao sonny at burdell.org
Mon Jul 2 10:49:37 EST 2007


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.

Signed-off-by: Sonny Rao <sonny at burdell.org>

--- kernel/arch/powerpc/platforms/pseries/setup.c~orig	2007-06-26 16:23:38.000000000 -0500
+++ kernel/arch/powerpc/platforms/pseries/setup.c	2007-06-26 19:09:53.000000000 -0500
@@ -274,6 +274,12 @@ static void pseries_lpar_enable_pmcs(voi
 		get_lppaca()->pmcregs_in_use = 1;
 }
 
+static void no_irq_init(void)
+{
+	printk(KERN_ERR "no_irq_init: failed to recognize"
+	       " interrupt-controller\n");
+}
+
 static void __init pseries_discover_pic(void)
 {
 	struct device_node *np;
@@ -296,8 +302,6 @@ static void __init pseries_discover_pic(
 			return;
 		}
 	}
-	printk(KERN_ERR "pSeries_discover_pic: failed to recognize"
-	       " interrupt-controller\n");
 }
 
 static void __init pSeries_setup_arch(void)
@@ -594,4 +598,5 @@ define_machine(pseries) {
 	.check_legacy_ioport	= pSeries_check_legacy_ioport,
 	.system_reset_exception = pSeries_system_reset_exception,
 	.machine_check_exception = pSeries_machine_check_exception,
+	.init_IRQ		= no_irq_init,  
 };



More information about the Linuxppc-dev mailing list