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