1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _OFFLINE_STATES_H_
3 #define _OFFLINE_STATES_H_
4 
5 /* Cpu offline states go here */
6 enum cpu_state_vals {
7 	CPU_STATE_OFFLINE,
8 	CPU_STATE_INACTIVE,
9 	CPU_STATE_ONLINE,
10 	CPU_MAX_OFFLINE_STATES
11 };
12 
13 #ifdef CONFIG_HOTPLUG_CPU
14 extern enum cpu_state_vals get_cpu_current_state(int cpu);
15 extern void set_cpu_current_state(int cpu, enum cpu_state_vals state);
16 extern void set_preferred_offline_state(int cpu, enum cpu_state_vals state);
17 extern void set_default_offline_state(int cpu);
18 #else
get_cpu_current_state(int cpu)19 static inline enum cpu_state_vals get_cpu_current_state(int cpu)
20 {
21 	return CPU_STATE_ONLINE;
22 }
23 
set_cpu_current_state(int cpu,enum cpu_state_vals state)24 static inline void set_cpu_current_state(int cpu, enum cpu_state_vals state)
25 {
26 }
27 
set_preferred_offline_state(int cpu,enum cpu_state_vals state)28 static inline void set_preferred_offline_state(int cpu, enum cpu_state_vals state)
29 {
30 }
31 
set_default_offline_state(int cpu)32 static inline void set_default_offline_state(int cpu)
33 {
34 }
35 #endif
36 
37 extern enum cpu_state_vals get_preferred_offline_state(int cpu);
38 #endif
39