summaryrefslogtreecommitdiffstats
path: root/include/linux/irq_work.h
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2015-03-19 10:18:51 -0400
committerIngo Molnar <mingo@kernel.org>2015-03-23 10:55:21 +0100
commit71ad00d61ec861dc68b4544887729850e58cb99b (patch)
treecc2ea77f0cea5271df65f502f456e034a8f0931e /include/linux/irq_work.h
parente1b63dec2ddba654c7ca75996284e453f32d1af7 (diff)
downloadlinux-71ad00d61ec861dc68b4544887729850e58cb99b.tar.gz
linux-71ad00d61ec861dc68b4544887729850e58cb99b.tar.bz2
linux-71ad00d61ec861dc68b4544887729850e58cb99b.zip
irq_work: Fix build failure when CONFIG_IRQ_WORK is not defined
When CONFIG_IRQ_WORK is not defined (difficult to do, as it also requires CONFIG_PRINTK not to be defined), we get a build failure: kernel/built-in.o: In function `flush_smp_call_function_queue': kernel/smp.c:263: undefined reference to `irq_work_run' kernel/smp.c:263: undefined reference to `irq_work_run' Makefile:933: recipe for target 'vmlinux' failed Simplest thing to do is to make irq_work_run() a nop when not set. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Link: http://lkml.kernel.org/r/20150319101851.4d224d9b@gandalf.local.home Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/irq_work.h')
-rw-r--r--include/linux/irq_work.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h
index bf3fe719c7ce..47b9ebd4a74f 100644
--- a/include/linux/irq_work.h
+++ b/include/linux/irq_work.h
@@ -38,16 +38,17 @@ bool irq_work_queue(struct irq_work *work);
bool irq_work_queue_on(struct irq_work *work, int cpu);
#endif
-void irq_work_run(void);
void irq_work_tick(void);
void irq_work_sync(struct irq_work *work);
#ifdef CONFIG_IRQ_WORK
#include <asm/irq_work.h>
+void irq_work_run(void);
bool irq_work_needs_cpu(void);
#else
static inline bool irq_work_needs_cpu(void) { return false; }
+static inline void irq_work_run(void) { }
#endif
#endif /* _LINUX_IRQ_WORK_H */