xref: /openbmc/linux/drivers/crypto/ccree/cc_pm.h (revision 4c3f9727)
14c3f9727SGilad Ben-Yossef /* SPDX-License-Identifier: GPL-2.0 */
24c3f9727SGilad Ben-Yossef /* Copyright (C) 2012-2018 ARM Limited or its affiliates. */
34c3f9727SGilad Ben-Yossef 
44c3f9727SGilad Ben-Yossef /* \file cc_pm.h
54c3f9727SGilad Ben-Yossef  */
64c3f9727SGilad Ben-Yossef 
74c3f9727SGilad Ben-Yossef #ifndef __CC_POWER_MGR_H__
84c3f9727SGilad Ben-Yossef #define __CC_POWER_MGR_H__
94c3f9727SGilad Ben-Yossef 
104c3f9727SGilad Ben-Yossef #include "cc_driver.h"
114c3f9727SGilad Ben-Yossef 
124c3f9727SGilad Ben-Yossef #define CC_SUSPEND_TIMEOUT 3000
134c3f9727SGilad Ben-Yossef 
144c3f9727SGilad Ben-Yossef #if defined(CONFIG_PM)
154c3f9727SGilad Ben-Yossef 
164c3f9727SGilad Ben-Yossef extern const struct dev_pm_ops ccree_pm;
174c3f9727SGilad Ben-Yossef 
184c3f9727SGilad Ben-Yossef int cc_pm_init(struct cc_drvdata *drvdata);
194c3f9727SGilad Ben-Yossef void cc_pm_fini(struct cc_drvdata *drvdata);
204c3f9727SGilad Ben-Yossef int cc_pm_suspend(struct device *dev);
214c3f9727SGilad Ben-Yossef int cc_pm_resume(struct device *dev);
224c3f9727SGilad Ben-Yossef int cc_pm_get(struct device *dev);
234c3f9727SGilad Ben-Yossef int cc_pm_put_suspend(struct device *dev);
244c3f9727SGilad Ben-Yossef 
254c3f9727SGilad Ben-Yossef #else
264c3f9727SGilad Ben-Yossef 
274c3f9727SGilad Ben-Yossef static inline int cc_pm_init(struct cc_drvdata *drvdata)
284c3f9727SGilad Ben-Yossef {
294c3f9727SGilad Ben-Yossef 	return 0;
304c3f9727SGilad Ben-Yossef }
314c3f9727SGilad Ben-Yossef 
324c3f9727SGilad Ben-Yossef static inline void cc_pm_fini(struct cc_drvdata *drvdata) {}
334c3f9727SGilad Ben-Yossef 
344c3f9727SGilad Ben-Yossef static inline int cc_pm_suspend(struct device *dev)
354c3f9727SGilad Ben-Yossef {
364c3f9727SGilad Ben-Yossef 	return 0;
374c3f9727SGilad Ben-Yossef }
384c3f9727SGilad Ben-Yossef 
394c3f9727SGilad Ben-Yossef static inline int cc_pm_resume(struct device *dev)
404c3f9727SGilad Ben-Yossef {
414c3f9727SGilad Ben-Yossef 	return 0;
424c3f9727SGilad Ben-Yossef }
434c3f9727SGilad Ben-Yossef 
444c3f9727SGilad Ben-Yossef static inline int cc_pm_get(struct device *dev)
454c3f9727SGilad Ben-Yossef {
464c3f9727SGilad Ben-Yossef 	return 0;
474c3f9727SGilad Ben-Yossef }
484c3f9727SGilad Ben-Yossef 
494c3f9727SGilad Ben-Yossef static inline int cc_pm_put_suspend(struct device *dev)
504c3f9727SGilad Ben-Yossef {
514c3f9727SGilad Ben-Yossef 	return 0;
524c3f9727SGilad Ben-Yossef }
534c3f9727SGilad Ben-Yossef 
544c3f9727SGilad Ben-Yossef #endif
554c3f9727SGilad Ben-Yossef 
564c3f9727SGilad Ben-Yossef #endif /*__POWER_MGR_H__*/
57