1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | |
3 | #ifndef __CPUIDLE_PSCI_H |
4 | #define __CPUIDLE_PSCI_H |
5 | |
6 | struct device; |
7 | struct device_node; |
8 | |
9 | void psci_set_domain_state(u32 state); |
10 | int psci_dt_parse_state_node(struct device_node *np, u32 *state); |
11 | |
12 | #ifdef CONFIG_ARM_PSCI_CPUIDLE_DOMAIN |
13 | |
14 | #include "dt_idle_genpd.h" |
15 | |
16 | static inline struct device *psci_dt_attach_cpu(int cpu) |
17 | { |
18 | return dt_idle_attach_cpu(cpu, "psci" ); |
19 | } |
20 | |
21 | static inline void psci_dt_detach_cpu(struct device *dev) |
22 | { |
23 | dt_idle_detach_cpu(dev); |
24 | } |
25 | |
26 | #else |
27 | static inline struct device *psci_dt_attach_cpu(int cpu) { return NULL; } |
28 | static inline void psci_dt_detach_cpu(struct device *dev) { } |
29 | #endif |
30 | |
31 | #endif /* __CPUIDLE_PSCI_H */ |
32 | |