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_fini(struct cc_drvdata *drvdata); 20 int cc_pm_suspend(struct device *dev); 21 int cc_pm_resume(struct device *dev); 22 int cc_pm_get(struct device *dev); 23 int cc_pm_put_suspend(struct device *dev); 24 25 #else 26 27 static inline int cc_pm_init(struct cc_drvdata *drvdata) 28 { 29 return 0; 30 } 31 32 static inline void cc_pm_fini(struct cc_drvdata *drvdata) {} 33 34 static inline int cc_pm_suspend(struct device *dev) 35 { 36 return 0; 37 } 38 39 static inline int cc_pm_resume(struct device *dev) 40 { 41 return 0; 42 } 43 44 static inline int cc_pm_get(struct device *dev) 45 { 46 return 0; 47 } 48 49 static inline int cc_pm_put_suspend(struct device *dev) 50 { 51 return 0; 52 } 53 54 #endif 55 56 #endif /*__POWER_MGR_H__*/ 57