/* * Copyright (c) 2018 Park Bumgyu, Samsung Electronics Co., Ltd * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __EXYNOS_CPUPM_H #define __EXYNOS_CPUPM_H __FILE__ extern int exynos_cpu_pm_enter(int cpu, int index); extern void exynos_cpu_pm_exit(int cpu, int cancel); enum { POWERMODE_TYPE_CLUSTER = 0, POWERMODE_TYPE_SYSTEM, }; extern void disable_power_mode(int cpu, int type); extern void enable_power_mode(int cpu, int type); extern bool exynos_cpuhp_last_cpu(unsigned int cpu); #ifdef CONFIG_CPU_IDLE void exynos_update_ip_idle_status(int index, int idle); int exynos_get_idle_ip_index(const char *name); extern void disable_power_mode(int cpu, int type); extern void enable_power_mode(int cpu, int type); #else static inline void exynos_update_ip_idle_status(int index, int idle) { return; } static inline int exynos_get_idle_ip_index(const char *name) { return 0; } static inline void disable_power_mode(int cpu, int type) { return; } static inline void enable_power_mode(int cpu, int type) { return; } #endif #endif /* __EXYNOS_CPUPM_H */