summaryrefslogtreecommitdiffstats
path: root/include/asm-arm/hw_irq.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2006-07-03 02:18:48 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-03 02:29:21 +0200
commitd061daa0e3abdddc28e21a37c8ac4536dedbf239 (patch)
tree6c08e7b8ed988053f421e38578fa11db538b0747 /include/asm-arm/hw_irq.h
parentMerge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-mmc (diff)
downloadlinux-d061daa0e3abdddc28e21a37c8ac4536dedbf239.tar.xz
linux-d061daa0e3abdddc28e21a37c8ac4536dedbf239.zip
[PATCH] genirq: ARM dyntick cleanup
Linus: "The hacks in kernel/irq/handle.c are really horrid. REALLY horrid." They are indeed. Move the dyntick quirks to ARM where they belong. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-arm/hw_irq.h')
-rw-r--r--include/asm-arm/hw_irq.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/asm-arm/hw_irq.h b/include/asm-arm/hw_irq.h
index f1a08a500604..275b574fd1a5 100644
--- a/include/asm-arm/hw_irq.h
+++ b/include/asm-arm/hw_irq.h
@@ -6,4 +6,15 @@
#include <asm/mach/irq.h>
+#if defined(CONFIG_NO_IDLE_HZ)
+# include <asm/dyntick.h>
+# define handle_dynamic_tick(action) \
+ if (!(action->flags & SA_TIMER) && system_timer->dyn_tick) { \
+ write_seqlock(&xtime_lock); \
+ if (system_timer->dyn_tick->state & DYN_TICK_ENABLED) \
+ system_timer->dyn_tick->handler(irq, 0, regs); \
+ write_sequnlock(&xtime_lock); \
+ }
+#endif
+
#endif