[PATCH 2/10] ppc64: Make some generic irq code compile for iSeries

Michael Ellerman michael at ellerman.id.au
Wed Aug 10 14:18:32 EST 2005


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 at ellerman.id.au>
---

 arch/ppc64/kernel/iSeries_irq.c   |   13 +++++++++++++
 arch/ppc64/kernel/iSeries_setup.c |    2 ++
 include/asm-ppc64/processor.h     |    1 +
 3 files changed, 16 insertions(+)

Index: work/arch/ppc64/kernel/iSeries_irq.c
===================================================================
--- work.orig/arch/ppc64/kernel/iSeries_irq.c
+++ work/arch/ppc64/kernel/iSeries_irq.c
@@ -351,3 +351,16 @@ int __init iSeries_allocate_IRQ(HvBusNum
 	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: work/arch/ppc64/kernel/iSeries_setup.c
===================================================================
--- work.orig/arch/ppc64/kernel/iSeries_setup.c
+++ work/arch/ppc64/kernel/iSeries_setup.c
@@ -321,6 +321,8 @@ static void __init iSeries_init_early(vo
 
 	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: work/include/asm-ppc64/processor.h
===================================================================
--- work.orig/include/asm-ppc64/processor.h
+++ work/include/asm-ppc64/processor.h
@@ -290,6 +290,7 @@
 #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)



More information about the Linuxppc64-dev mailing list