[tip: sched/core] irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too

From: tip-bot2 for Ingo Molnar
Date: Tue Jun 02 2020 - 07:41:11 EST


The following commit has been merged into the sched/core branch of tip:

Commit-ID: 25de110d148666752dc0e0da7a0b69de31cd7098
Gitweb: https://git.kernel.org/tip/25de110d148666752dc0e0da7a0b69de31cd7098
Author: Ingo Molnar <mingo@xxxxxxxxxx>
AuthorDate: Tue, 02 Jun 2020 12:08:39 +02:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Tue, 02 Jun 2020 12:34:45 +02:00

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@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
include/linux/irq_work.h | 2 ++
kernel/smp.c | 2 --
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h
index f23a359..2735da5 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 4dec04f..c80486a 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
*