on_each_cpu returns the retunr value of smp_call_function
which is hard coded to 0.

Refactor on_each_cpu to a void function and the few callers
that check the return value to save compares and branches.

CC: Michal Nazarewicz <min...@mina86.com>
CC: David Airlie <airl...@linux.ie>
CC: dri-de...@lists.freedesktop.org
CC: Benjamin Herrenschmidt <b...@kernel.crashing.org>
CC: Paul Mackerras <pau...@samba.org>
CC: Grant Likely <grant.lik...@secretlab.ca>
CC: Rob Herring <rob.herr...@calxeda.com>
CC: linuxppc-dev@lists.ozlabs.org
CC: devicetree-disc...@lists.ozlabs.org
CC: Richard Henderson <r...@twiddle.net>
CC: Ivan Kokshaysky <i...@jurassic.park.msu.ru>
CC: Matt Turner <matts...@gmail.com>
CC: linux-al...@vger.kernel.org
CC: Thomas Gleixner <t...@linutronix.de>
CC: Ingo Molnar <mi...@redhat.com>
CC: "H. Peter Anvin" <h...@zytor.com>
CC: x...@kernel.org
CC: Tony Luck <tony.l...@intel.com>
CC: Fenghua Yu <fenghua...@intel.com>
CC: linux-i...@vger.kernel.org
CC: Will Deacon <will.dea...@arm.com>
CC: Peter Zijlstra <a.p.zijls...@chello.nl>
CC: Arnaldo Carvalho de Melo <a...@ghostprotocols.net>
CC: Russell King <li...@arm.linux.org.uk>
CC: linux-arm-ker...@lists.infradead.org
---
 include/linux/smp.h |    7 +++----
 kernel/smp.c        |    6 ++----
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/include/linux/smp.h b/include/linux/smp.h
index 8cc38d3..050ddd4 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -99,7 +99,7 @@ static inline void call_function_init(void) { }
 /*
  * Call a function on all processors
  */
-int on_each_cpu(smp_call_func_t func, void *info, int wait);
+void on_each_cpu(smp_call_func_t func, void *info, int wait);
 
 /*
  * Mark the boot cpu "online" so that it can call console drivers in
@@ -126,12 +126,11 @@ static inline int up_smp_call_function(smp_call_func_t 
func, void *info)
 #define smp_call_function(func, info, wait) \
                        (up_smp_call_function(func, info))
 #define on_each_cpu(func,info,wait)            \
-       ({                                      \
+       {                                       \
                local_irq_disable();            \
                func(info);                     \
                local_irq_enable();             \
-               0;                              \
-       })
+       }
 static inline void smp_send_reschedule(int cpu) { }
 #define num_booting_cpus()                     1
 #define smp_prepare_boot_cpu()                 do {} while (0)
diff --git a/kernel/smp.c b/kernel/smp.c
index db197d6..f66a1b2 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -687,17 +687,15 @@ void __init smp_init(void)
  * early_boot_irqs_disabled is set.  Use local_irq_save/restore() instead
  * of local_irq_disable/enable().
  */
-int on_each_cpu(void (*func) (void *info), void *info, int wait)
+void on_each_cpu(void (*func) (void *info), void *info, int wait)
 {
        unsigned long flags;
-       int ret = 0;
 
        preempt_disable();
-       ret = smp_call_function(func, info, wait);
+       smp_call_function(func, info, wait);
        local_irq_save(flags);
        func(info);
        local_irq_restore(flags);
        preempt_enable();
-       return ret;
 }
 EXPORT_SYMBOL(on_each_cpu);
-- 
1.7.0.4

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to