summaryrefslogtreecommitdiffstats
path: root/arch/metag/include/asm/irq.h
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2012-10-09 10:54:47 +0100
committerJames Hogan <james.hogan@imgtec.com>2013-03-02 20:09:48 +0000
commit63047ea36070d11f902ab7d09a5a18aea037c0f7 (patch)
treef82e359be810c8b747ed390fc942e8a3d91226f3 /arch/metag/include/asm/irq.h
parentac919f0883e53d7785745566692c8a0620abd7ea (diff)
downloadop-kernel-dev-63047ea36070d11f902ab7d09a5a18aea037c0f7.zip
op-kernel-dev-63047ea36070d11f902ab7d09a5a18aea037c0f7.tar.gz
metag: IRQ handling
Add core IRQ handling for metag. The code in irq.c exposes the TBX signal numbers as Linux IRQs. Signed-off-by: James Hogan <james.hogan@imgtec.com>
Diffstat (limited to 'arch/metag/include/asm/irq.h')
-rw-r--r--arch/metag/include/asm/irq.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/metag/include/asm/irq.h b/arch/metag/include/asm/irq.h
new file mode 100644
index 0000000..be0c8f3
--- /dev/null
+++ b/arch/metag/include/asm/irq.h
@@ -0,0 +1,32 @@
+#ifndef __ASM_METAG_IRQ_H
+#define __ASM_METAG_IRQ_H
+
+#ifdef CONFIG_4KSTACKS
+extern void irq_ctx_init(int cpu);
+extern void irq_ctx_exit(int cpu);
+# define __ARCH_HAS_DO_SOFTIRQ
+#else
+# define irq_ctx_init(cpu) do { } while (0)
+# define irq_ctx_exit(cpu) do { } while (0)
+#endif
+
+void tbi_startup_interrupt(int);
+void tbi_shutdown_interrupt(int);
+
+struct pt_regs;
+
+int tbisig_map(unsigned int hw);
+extern void do_IRQ(int irq, struct pt_regs *regs);
+
+#ifdef CONFIG_METAG_SUSPEND_MEM
+int traps_save_context(void);
+int traps_restore_context(void);
+#endif
+
+#include <asm-generic/irq.h>
+
+#ifdef CONFIG_HOTPLUG_CPU
+extern void migrate_irqs(void);
+#endif
+
+#endif /* __ASM_METAG_IRQ_H */
OpenPOWER on IntegriCloud