1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef SMPBOOT_H 3 #define SMPBOOT_H 4 5 struct task_struct; 6 7 #ifdef CONFIG_GENERIC_SMP_IDLE_THREAD 8 struct task_struct *idle_thread_get(unsigned int cpu); 9 void idle_thread_set_boot_cpu(void); 10 void idle_threads_init(void); 11 #else idle_thread_get(unsigned int cpu)12static inline struct task_struct *idle_thread_get(unsigned int cpu) { return NULL; } idle_thread_set_boot_cpu(void)13static inline void idle_thread_set_boot_cpu(void) { } idle_threads_init(void)14static inline void idle_threads_init(void) { } 15 #endif 16 17 int smpboot_create_threads(unsigned int cpu); 18 int smpboot_park_threads(unsigned int cpu); 19 int smpboot_unpark_threads(unsigned int cpu); 20 21 void __init cpuhp_threads_init(void); 22 23 #endif 24