1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __DT_IDLE_GENPD 3 #define __DT_IDLE_GENPD 4 5 struct device_node; 6 struct generic_pm_domain; 7 8 #ifdef CONFIG_DT_IDLE_GENPD 9 10 void dt_idle_pd_free(struct generic_pm_domain *pd); 11 12 struct generic_pm_domain *dt_idle_pd_alloc(struct device_node *np, 13 int (*parse_state)(struct device_node *, u32 *)); 14 15 int dt_idle_pd_init_topology(struct device_node *np); 16 17 int dt_idle_pd_remove_topology(struct device_node *np); 18 19 struct device *dt_idle_attach_cpu(int cpu, const char *name); 20 21 void dt_idle_detach_cpu(struct device *dev); 22 23 #else 24 25 static inline void dt_idle_pd_free(struct generic_pm_domain *pd) 26 { 27 } 28 29 static inline struct generic_pm_domain *dt_idle_pd_alloc( 30 struct device_node *np, 31 int (*parse_state)(struct device_node *, u32 *)) 32 { 33 return NULL; 34 } 35 36 static inline int dt_idle_pd_init_topology(struct device_node *np) 37 { 38 return 0; 39 } 40 41 static inline int dt_idle_pd_remove_topology(struct device_node *np) 42 { 43 return 0; 44 } 45 46 static inline struct device *dt_idle_attach_cpu(int cpu, const char *name) 47 { 48 return NULL; 49 } 50 51 static inline void dt_idle_detach_cpu(struct device *dev) 52 { 53 } 54 55 #endif 56 57 #endif 58