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 struct device *dt_idle_attach_cpu(int cpu, const char *name); 18 19 void dt_idle_detach_cpu(struct device *dev); 20 21 #else 22 23 static inline void dt_idle_pd_free(struct generic_pm_domain *pd) 24 { 25 } 26 27 static inline struct generic_pm_domain *dt_idle_pd_alloc( 28 struct device_node *np, 29 int (*parse_state)(struct device_node *, u32 *)) 30 { 31 return NULL; 32 } 33 34 static inline int dt_idle_pd_init_topology(struct device_node *np) 35 { 36 return 0; 37 } 38 39 static inline struct device *dt_idle_attach_cpu(int cpu, const char *name) 40 { 41 return NULL; 42 } 43 44 static inline void dt_idle_detach_cpu(struct device *dev) 45 { 46 } 47 48 #endif 49 50 #endif 51