summaryrefslogtreecommitdiff
path: root/include/linux/interrupt.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-06-28 15:57:18 +0200
committerSteven Rostedt <rostedt@rostedt.homelinux.com>2014-08-26 21:29:52 -0400
commit66a2c2fe86c4438afc2a5cc854682e4276ddd75e (patch)
tree4f375e05e20b794fd747cc9d5d94a4a8d2048c06 /include/linux/interrupt.h
parent3bfc2ee9e32560774a24e1b542614a8ff3f87801 (diff)
downloadlinux-rt-66a2c2fe86c4438afc2a5cc854682e4276ddd75e.tar.gz
softirq-local-lock.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/interrupt.h')
-rw-r--r--include/linux/interrupt.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index a94944e4f31c..f729351083f6 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -417,7 +417,13 @@ struct softirq_action
asmlinkage void do_softirq(void);
asmlinkage void __do_softirq(void);
+
+#ifndef CONFIG_PREEMPT_RT_FULL
static inline void thread_do_softirq(void) { do_softirq(); }
+#else
+extern void thread_do_softirq(void);
+#endif
+
extern void open_softirq(int nr, void (*action)(struct softirq_action *));
extern void softirq_init(void);
extern void __raise_softirq_irqoff(unsigned int nr);
@@ -604,6 +610,12 @@ void tasklet_hrtimer_cancel(struct tasklet_hrtimer *ttimer)
tasklet_kill(&ttimer->tasklet);
}
+#ifdef CONFIG_PREEMPT_RT_FULL
+extern void softirq_early_init(void);
+#else
+static inline void softirq_early_init(void) { }
+#endif
+
/*
* Autoprobing for irqs:
*