aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2020-06-02 12:08:39 +0200
committerIngo Molnar <mingo@kernel.org>2020-06-02 12:34:45 +0200
commit25de110d148666752dc0e0da7a0b69de31cd7098 (patch)
treee262d0831720ae7ac354d3cee27e96b0e0dc4b3e
parentsched/headers: Split out open-coded prototypes into kernel/sched/smp.h (diff)
downloadlinux-dev-25de110d148666752dc0e0da7a0b69de31cd7098.tar.xz
linux-dev-25de110d148666752dc0e0da7a0b69de31cd7098.zip
irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too
Some SMP platforms don't have CONFIG_IRQ_WORK defined, resulting in a link error at build time. Define a stub and clean up the prototype definitions. Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--include/linux/irq_work.h2
-rw-r--r--kernel/smp.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h
index f23a359c8f46..2735da5f839e 100644
--- a/include/linux/irq_work.h
+++ b/include/linux/irq_work.h
@@ -58,9 +58,11 @@ void irq_work_sync(struct irq_work *work);
void irq_work_run(void);
bool irq_work_needs_cpu(void);
+void irq_work_single(void *arg);
#else
static inline bool irq_work_needs_cpu(void) { return false; }
static inline void irq_work_run(void) { }
+static inline void irq_work_single(void *arg) { }
#endif
#endif /* _LINUX_IRQ_WORK_H */
diff --git a/kernel/smp.c b/kernel/smp.c
index 4dec04f7fdc5..c80486a7e3b8 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -194,8 +194,6 @@ void generic_smp_call_function_single_interrupt(void)
flush_smp_call_function_queue(true);
}
-extern void irq_work_single(void *);
-
/**
* flush_smp_call_function_queue - Flush pending smp-call-function callbacks
*