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 int dt_idle_pd_remove_topology(struct device_node *np);
19 struct device *dt_idle_attach_cpu(int cpu, const char *name);
21 void dt_idle_detach_cpu(struct device *dev);
25 static inline void dt_idle_pd_free(struct generic_pm_domain *pd)
29 static inline struct generic_pm_domain *dt_idle_pd_alloc(
30 struct device_node *np,
31 int (*parse_state)(struct device_node *, u32 *))
36 static inline int dt_idle_pd_init_topology(struct device_node *np)
41 static inline int dt_idle_pd_remove_topology(struct device_node *np)
46 static inline struct device *dt_idle_attach_cpu(int cpu, const char *name)
51 static inline void dt_idle_detach_cpu(struct device *dev)