diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/stop_machine.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/stop_machine.h b/include/linux/stop_machine.h index 74d59a641362..baba3a23a814 100644 --- a/include/linux/stop_machine.h +++ b/include/linux/stop_machine.h | |||
| @@ -35,6 +35,24 @@ int stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus); | |||
| 35 | * won't come or go while it's being called. Used by hotplug cpu. | 35 | * won't come or go while it's being called. Used by hotplug cpu. |
| 36 | */ | 36 | */ |
| 37 | int __stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus); | 37 | int __stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus); |
| 38 | |||
| 39 | /** | ||
| 40 | * stop_machine_create: create all stop_machine threads | ||
| 41 | * | ||
| 42 | * Description: This causes all stop_machine threads to be created before | ||
| 43 | * stop_machine actually gets called. This can be used by subsystems that | ||
| 44 | * need a non failing stop_machine infrastructure. | ||
| 45 | */ | ||
| 46 | int stop_machine_create(void); | ||
| 47 | |||
| 48 | /** | ||
| 49 | * stop_machine_destroy: destroy all stop_machine threads | ||
| 50 | * | ||
| 51 | * Description: This causes all stop_machine threads which were created with | ||
| 52 | * stop_machine_create to be destroyed again. | ||
| 53 | */ | ||
| 54 | void stop_machine_destroy(void); | ||
| 55 | |||
| 38 | #else | 56 | #else |
| 39 | 57 | ||
| 40 | static inline int stop_machine(int (*fn)(void *), void *data, | 58 | static inline int stop_machine(int (*fn)(void *), void *data, |
| @@ -46,5 +64,9 @@ static inline int stop_machine(int (*fn)(void *), void *data, | |||
| 46 | local_irq_enable(); | 64 | local_irq_enable(); |
| 47 | return ret; | 65 | return ret; |
| 48 | } | 66 | } |
| 67 | |||
| 68 | static inline int stop_machine_create(void) { return 0; } | ||
| 69 | static inline void stop_machine_destroy(void) { } | ||
| 70 | |||
| 49 | #endif /* CONFIG_SMP */ | 71 | #endif /* CONFIG_SMP */ |
| 50 | #endif /* _LINUX_STOP_MACHINE */ | 72 | #endif /* _LINUX_STOP_MACHINE */ |
