aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2013-09-11 17:19:37 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-11 18:56:19 -0400
commit3b8967d713d7426e9dd107d065208b84adface91 (patch)
treef1df2b00ef08ac92636fdc4e7bc273963deec433 /include/linux
parente831cbfc1ad843b5542cc45f777e1a00b73c0685 (diff)
include/linux/smp.h:on_each_cpu(): switch back to a C function
Revert commit c846ef7deba2 ("include/linux/smp.h:on_each_cpu(): switch back to a macro"). It turns out that the problematic linux/irqflags.h include was fixed within ia64 and mn10300. Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: David Daney <david.daney@cavium.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/smp.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/include/linux/smp.h b/include/linux/smp.h
index c181399f2c20..c8488763277f 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -11,6 +11,7 @@
11#include <linux/list.h> 11#include <linux/list.h>
12#include <linux/cpumask.h> 12#include <linux/cpumask.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/irqflags.h>
14 15
15extern void cpu_idle(void); 16extern void cpu_idle(void);
16 17
@@ -139,14 +140,17 @@ static inline int up_smp_call_function(smp_call_func_t func, void *info)
139} 140}
140#define smp_call_function(func, info, wait) \ 141#define smp_call_function(func, info, wait) \
141 (up_smp_call_function(func, info)) 142 (up_smp_call_function(func, info))
142#define on_each_cpu(func, info, wait) \ 143
143 ({ \ 144static inline int on_each_cpu(smp_call_func_t func, void *info, int wait)
144 unsigned long __flags; \ 145{
145 local_irq_save(__flags); \ 146 unsigned long flags;
146 func(info); \ 147
147 local_irq_restore(__flags); \ 148 local_irq_save(flags);
148 0; \ 149 func(info);
149 }) 150 local_irq_restore(flags);
151 return 0;
152}
153
150/* 154/*
151 * Note we still need to test the mask even for UP 155 * Note we still need to test the mask even for UP
152 * because we actually can get an empty mask from 156 * because we actually can get an empty mask from