projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ARM: rockchip: rk3228: add grf definition
[firefly-linux-kernel-4.4.55.git]
/
include
/
linux
/
smp.h
diff --git
a/include/linux/smp.h
b/include/linux/smp.h
index e6564c1dc552c6ca72b9b3b276fdb455a10bc716..c8488763277f0066bb731f019964f038f4107b57 100644
(file)
--- a/
include/linux/smp.h
+++ b/
include/linux/smp.h
@@
-11,6
+11,7
@@
#include <linux/list.h>
#include <linux/cpumask.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/cpumask.h>
#include <linux/init.h>
+#include <linux/irqflags.h>
extern void cpu_idle(void);
extern void cpu_idle(void);
@@
-139,13
+140,17
@@
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 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 int on_each_cpu(smp_call_func_t func, void *info, int wait)
+{
+ unsigned long flags;
+
+ local_irq_save(flags);
+ func(info);
+ local_irq_restore(flags);
+ return 0;
+}
+
/*
* Note we still need to test the mask even for UP
* because we actually can get an empty mask from
/*
* Note we still need to test the mask even for UP
* because we actually can get an empty mask from