[PATCH RT 21/25] smp: Use smp_cond_func_t as type for the conditional function

From: zanussi
Date: Fri Feb 21 2020 - 16:25:45 EST


From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

v4.14.170-rt75-rc1 stable review patch.
If anyone has any objections, please let me know.

-----------


[ Upstream commit 0c2799d2b9cd2e314298c68b81fbdc478f552ad4 ]

Use a typdef for the conditional function instead defining it each time in
the function prototype.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Signed-off-by: Tom Zanussi <zanussi@xxxxxxxxxx>

Conflicts:
include/linux/smp.h
kernel/smp.c
kernel/up.c
---
include/linux/smp.h | 6 +++---
kernel/smp.c | 5 ++---
kernel/up.c | 5 ++---
3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/include/linux/smp.h b/include/linux/smp.h
index 5801e516ba63..af05a63e4c06 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -15,6 +15,7 @@
#include <linux/llist.h>

typedef void (*smp_call_func_t)(void *info);
+typedef bool (*smp_cond_func_t)(int cpu, void *info);
struct __call_single_data {
struct llist_node llist;
smp_call_func_t func;
@@ -49,9 +50,8 @@ void on_each_cpu_mask(const struct cpumask *mask, smp_call_func_t func,
* cond_func returns a positive value. This may include the local
* processor.
*/
-void on_each_cpu_cond(bool (*cond_func)(int cpu, void *info),
- smp_call_func_t func, void *info, bool wait,
- gfp_t gfp_flags);
+void on_each_cpu_cond(smp_cond_func_t cond_func, smp_call_func_t func,
+ void *info, bool wait, gfp_t gfp_flags);

int smp_call_function_single_async(int cpu, call_single_data_t *csd);

diff --git a/kernel/smp.c b/kernel/smp.c
index c94dd85c8d41..00fbb6aa948a 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -667,9 +667,8 @@ EXPORT_SYMBOL(on_each_cpu_mask);
* You must not call this function with disabled interrupts or
* from a hardware interrupt handler or from a bottom half handler.
*/
-void on_each_cpu_cond(bool (*cond_func)(int cpu, void *info),
- smp_call_func_t func, void *info, bool wait,
- gfp_t gfp_flags)
+void on_each_cpu_cond(smp_cond_func_t cond_func, smp_call_func_t func,
+ void *info, bool wait, gfp_t gfp_flags)
{
cpumask_var_t cpus;
int cpu, ret;
diff --git a/kernel/up.c b/kernel/up.c
index 42c46bf3e0a5..a0276ba75270 100644
--- a/kernel/up.c
+++ b/kernel/up.c
@@ -68,9 +68,8 @@ EXPORT_SYMBOL(on_each_cpu_mask);
* Preemption is disabled here to make sure the cond_func is called under the
* same condtions in UP and SMP.
*/
-void on_each_cpu_cond(bool (*cond_func)(int cpu, void *info),
- smp_call_func_t func, void *info, bool wait,
- gfp_t gfp_flags)
+void on_each_cpu_cond(smp_cond_func_t cond_func, smp_call_func_t func,
+ void *info, bool wait, gfp_t gfp_flags)
{
unsigned long flags;

--
2.14.1