1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (C) 2012-2018 ARM Limited or its affiliates. */ 3 4 /* \file cc_pm.h 5 */ 6 7 #ifndef __CC_POWER_MGR_H__ 8 #define __CC_POWER_MGR_H__ 9 10 #include "cc_driver.h" 11 12 #define CC_SUSPEND_TIMEOUT 3000 13 14 #if defined(CONFIG_PM) 15 16 extern const struct dev_pm_ops ccree_pm; 17 18 int cc_pm_init(struct cc_drvdata *drvdata); 19 void cc_pm_go(struct cc_drvdata *drvdata); 20 void cc_pm_fini(struct cc_drvdata *drvdata); 21 int cc_pm_suspend(struct device *dev); 22 int cc_pm_resume(struct device *dev); 23 int cc_pm_get(struct device *dev); 24 int cc_pm_put_suspend(struct device *dev); 25 26 #else 27 28 static inline int cc_pm_init(struct cc_drvdata *drvdata) 29 { 30 return 0; 31 } 32 33 static inline void cc_pm_go(struct cc_drvdata *drvdata) {} 34 35 static inline void cc_pm_fini(struct cc_drvdata *drvdata) {} 36 37 static inline int cc_pm_suspend(struct device *dev) 38 { 39 return 0; 40 } 41 42 static inline int cc_pm_resume(struct device *dev) 43 { 44 return 0; 45 } 46 47 static inline int cc_pm_get(struct device *dev) 48 { 49 return 0; 50 } 51 52 static inline int cc_pm_put_suspend(struct device *dev) 53 { 54 return 0; 55 } 56 57 #endif 58 59 #endif /*__POWER_MGR_H__*/ 60