Skip to content

Commit

Permalink
irq_work: Fix build failure when CONFIG_IRQ_WORK is not defined
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Steven Rostedt authored and Ingo Molnar committed Mar 23, 2015
1 parent e1b63de commit 71ad00d
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion include/linux/irq_work.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

0 comments on commit 71ad00d

Please sign in to comment.