提交 71ad00d6 编写于 作者: S Steven Rostedt 提交者: Ingo Molnar

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: NSteven Rostedt <rostedt@goodmis.org>
Signed-off-by: NPeter 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.homeSigned-off-by: NIngo Molnar <mingo@kernel.org>
上级 e1b63dec
...@@ -38,16 +38,17 @@ bool irq_work_queue(struct irq_work *work); ...@@ -38,16 +38,17 @@ bool irq_work_queue(struct irq_work *work);
bool irq_work_queue_on(struct irq_work *work, int cpu); bool irq_work_queue_on(struct irq_work *work, int cpu);
#endif #endif
void irq_work_run(void);
void irq_work_tick(void); void irq_work_tick(void);
void irq_work_sync(struct irq_work *work); void irq_work_sync(struct irq_work *work);
#ifdef CONFIG_IRQ_WORK #ifdef CONFIG_IRQ_WORK
#include <asm/irq_work.h> #include <asm/irq_work.h>
void irq_work_run(void);
bool irq_work_needs_cpu(void); bool irq_work_needs_cpu(void);
#else #else
static inline bool irq_work_needs_cpu(void) { return false; } static inline bool irq_work_needs_cpu(void) { return false; }
static inline void irq_work_run(void) { }
#endif #endif
#endif /* _LINUX_IRQ_WORK_H */ #endif /* _LINUX_IRQ_WORK_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册