1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __DT_IDLE_GENPD
3 #define __DT_IDLE_GENPD
6 struct generic_pm_domain;
8 #ifdef CONFIG_DT_IDLE_GENPD
10 void dt_idle_pd_free(struct generic_pm_domain *pd);
12 struct generic_pm_domain *dt_idle_pd_alloc(struct device_node *np,
13 int (*parse_state)(struct device_node *, u32 *));
15 int dt_idle_pd_init_topology(struct device_node *np);
17 struct device *dt_idle_attach_cpu(int cpu, const char *name);
19 void dt_idle_detach_cpu(struct device *dev);
23 static inline void dt_idle_pd_free(struct generic_pm_domain *pd)
27 static inline struct generic_pm_domain *dt_idle_pd_alloc(
28 struct device_node *np,
29 int (*parse_state)(struct device_node *, u32 *))
34 static inline int dt_idle_pd_init_topology(struct device_node *np)
39 static inline struct device *dt_idle_attach_cpu(int cpu, const char *name)
44 static inline void dt_idle_detach_cpu(struct device *dev)