summaryrefslogtreecommitdiff
path: root/arch/m68k/include/asm/hardirq.h
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2011-05-04 13:55:56 +1000
committerGreg Ungerer <gerg@uclinux.org>2011-07-25 11:20:40 +1000
commit10f939ff3ab80514da3bd96357bb54a8a59b9225 (patch)
tree2e6bcabeccdb78d89523f478b723c4bc66cb8aef /arch/m68k/include/asm/hardirq.h
parenta66af29876b086d8279b48515b83ced66803fb15 (diff)
m68k: merge MMU and non-MMU versions of asm/hardirq.h
The contents of asm/hardirq.h are pretty strait forward for both the MMU (hardirq_mm.h) and non-MMU (hardirq_no.h) include files. Merge the two back into a single file. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68k/include/asm/hardirq.h')
-rw-r--r--arch/m68k/include/asm/hardirq.h35
1 files changed, 32 insertions, 3 deletions
diff --git a/arch/m68k/include/asm/hardirq.h b/arch/m68k/include/asm/hardirq.h
index 56d0d5db231c..870e5347155b 100644
--- a/arch/m68k/include/asm/hardirq.h
+++ b/arch/m68k/include/asm/hardirq.h
@@ -1,5 +1,34 @@
-#ifdef __uClinux__
-#include "hardirq_no.h"
+#ifndef __M68K_HARDIRQ_H
+#define __M68K_HARDIRQ_H
+
+#include <linux/threads.h>
+#include <linux/cache.h>
+#include <asm/irq.h>
+
+#define HARDIRQ_BITS 8
+
+/*
+ * The hardirq mask has to be large enough to have
+ * space for potentially all IRQ sources in the system
+ * nesting on a single CPU:
+ */
+#if (1 << HARDIRQ_BITS) < NR_IRQS
+# error HARDIRQ_BITS is too low!
+#endif
+
+#ifdef CONFIG_MMU
+
+/* entry.S is sensitive to the offsets of these fields */
+typedef struct {
+ unsigned int __softirq_pending;
+} ____cacheline_aligned irq_cpustat_t;
+
+#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
+
#else
-#include "hardirq_mm.h"
+
+#include <asm-generic/hardirq.h>
+
+#endif /* !CONFIG_MMU */
+
#endif