irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too
authorIngo Molnar <mingo@kernel.org>
Tue, 2 Jun 2020 10:08:39 +0000 (12:08 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 2 Jun 2020 10:34:45 +0000 (12:34 +0200)
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>
include/linux/irq_work.h
kernel/smp.c

index f23a359c8f46af3fac11dcd215ed5575c5ef7efb..2735da5f839e9aa0344e989fdbcccf2a70c23705 100644 (file)
@@ -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 */
index 4dec04f7fdc59311c7b70d9d39cc3c1110106dcf..c80486a7e3b859291145bd8390d9d3eda5b4d17d 100644 (file)
@@ -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
  *