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
)