[PATCH 11/15] powerpc: add IRQ remapping hook

Ishizaki Kou kou.ishizaki at toshiba.co.jp
Tue Dec 12 14:52:32 EST 2006


This patch adds irq remapping hook. On interrupt mechanism on Beat,
when an irq outlet who has an id which is formerly used is created,
remapping the irq is required.

Signed-off-by: Kou Ishizaki <kou.ishizaki.co.jp>
Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---

Index: linux-powerpc-git/include/asm-powerpc/irq.h
diff -u linux-powerpc-git/include/asm-powerpc/irq.h:1.1.1.1 linux-powerpc-git/include/asm-powerpc/irq.h:1.2
--- linux-powerpc-git/include/asm-powerpc/irq.h:1.1.1.1	Wed Dec  6 08:24:04 2006
+++ linux-powerpc-git/include/asm-powerpc/irq.h	Wed Dec  6 08:43:16 2006
@@ -89,6 +89,9 @@
 	/* Dispose of such a mapping */
 	void (*unmap)(struct irq_host *h, unsigned int virq);
 
+	/* Update of such a mapping  */
+	void (*remap)(struct irq_host *h, unsigned int virq, irq_hw_number_t hw);
+
 	/* Translate device-tree interrupt specifier from raw format coming
 	 * from the firmware to a irq_hw_number_t (interrupt line number) and
 	 * type (sense) that can be passed to set_irq_type(). In the absence
Index: linux-powerpc-git/arch/powerpc/kernel/irq.c
diff -u linux-powerpc-git/arch/powerpc/kernel/irq.c:1.1.1.1 linux-powerpc-git/arch/powerpc/kernel/irq.c:1.2
--- linux-powerpc-git/arch/powerpc/kernel/irq.c:1.1.1.1	Wed Dec  6 08:25:43 2006
+++ linux-powerpc-git/arch/powerpc/kernel/irq.c	Wed Dec  6 08:43:14 2006
@@ -604,6 +604,8 @@
 	 */
 	virq = irq_find_mapping(host, hwirq);
 	if (virq != IRQ_NONE) {
+		if (host->ops->remap)
+			host->ops->remap(host, virq, hwirq);
 		pr_debug("irq: -> existing mapping on virq %d\n", virq);
 		return virq;
 	}



More information about the Linuxppc-dev mailing list