xref: /openbmc/linux/drivers/crypto/ccree/cc_pm.h (revision 1802d0be)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (C) 2012-2019 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