diff options
Diffstat (limited to 'include/linux/smp.h')
-rw-r--r-- | include/linux/smp.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/smp.h b/include/linux/smp.h index 5da22ee42e16..6ae004e437ea 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h | |||
@@ -11,12 +11,16 @@ | |||
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/llist.h> | ||
14 | 15 | ||
15 | extern void cpu_idle(void); | 16 | extern void cpu_idle(void); |
16 | 17 | ||
17 | typedef void (*smp_call_func_t)(void *info); | 18 | typedef void (*smp_call_func_t)(void *info); |
18 | struct call_single_data { | 19 | struct call_single_data { |
19 | struct list_head list; | 20 | union { |
21 | struct list_head list; | ||
22 | struct llist_node llist; | ||
23 | }; | ||
20 | smp_call_func_t func; | 24 | smp_call_func_t func; |
21 | void *info; | 25 | void *info; |
22 | u16 flags; | 26 | u16 flags; |
@@ -184,6 +188,9 @@ static inline void kick_all_cpus_sync(void) { } | |||
184 | */ | 188 | */ |
185 | extern void arch_disable_smp_support(void); | 189 | extern void arch_disable_smp_support(void); |
186 | 190 | ||
191 | extern void arch_enable_nonboot_cpus_begin(void); | ||
192 | extern void arch_enable_nonboot_cpus_end(void); | ||
193 | |||
187 | void smp_setup_processor_id(void); | 194 | void smp_setup_processor_id(void); |
188 | 195 | ||
189 | #endif /* __LINUX_SMP_H */ | 196 | #endif /* __LINUX_SMP_H */ |