ppc46 iSeries: Make some generic irq code compile for iSeries
authorMichael Ellerman <michael@ellerman.id.au>
Fri, 23 Sep 2005 04:43:22 +0000 (14:43 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 23 Sep 2005 04:43:22 +0000 (14:43 +1000)
In order to call finish_device_tree() on iSeries we need to define
virt_irq_create_mapping(). We also need to set ppc64_interrupt_controller to
something other than zero. If we want to do interrupt setup via the device
tree on iSeries this code will need some serious work, but it's harmless to
have it there as long as the nodes in the iSeries device tree don't cause
it to be invoked.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
arch/ppc64/kernel/iSeries_irq.c
arch/ppc64/kernel/iSeries_setup.c
include/asm-ppc64/processor.h

index 77376c1bd611326c44bfcd71e3681f9d1508b197..0170682a8ca595b736b3878de96d92efac2781cd 100644 (file)
@@ -351,3 +351,16 @@ int __init iSeries_allocate_IRQ(HvBusNumber busNumber,
        irq_desc[virtirq].handler = &iSeries_IRQ_handler;
        return virtirq;
 }
+
+int virt_irq_create_mapping(unsigned int real_irq)
+{
+       BUG(); /* Don't call this on iSeries, yet */
+
+       return 0;
+}
+
+void virt_irq_init(void)
+{
+       return;
+}
+
index b5dcb08547bd74262bbef845c566acbef7a770ef..75d8db4eaac6820fb31d3d83800cdd2ffaf76d79 100644 (file)
@@ -321,6 +321,8 @@ static void __init iSeries_init_early(void)
 
        ppcdbg_initialize();
 
+       ppc64_interrupt_controller = IC_ISERIES;
+
 #if defined(CONFIG_BLK_DEV_INITRD)
        /*
         * If the init RAM disk has been configured and there is
index 4146189006e32cac1d8d11d618e8f02498bfe1ce..fe5cd2f5868a8f17d21209c3a6f98e84f0c70616 100644 (file)
 #define IC_OPEN_PIC   1
 #define IC_PPC_XIC    2
 #define IC_BPA_IIC    3
+#define IC_ISERIES    4
 
 #define XGLUE(a,b) a##b
 #define GLUE(a,b) XGLUE(a,b)