Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
16extern const struct dev_pm_ops ccree_pm;
17
18int cc_pm_init(struct cc_drvdata *drvdata);
19void cc_pm_go(struct cc_drvdata *drvdata);
20void cc_pm_fini(struct cc_drvdata *drvdata);
21int cc_pm_suspend(struct device *dev);
22int cc_pm_resume(struct device *dev);
23int cc_pm_get(struct device *dev);
24int cc_pm_put_suspend(struct device *dev);
25
26#else
27
28static inline int cc_pm_init(struct cc_drvdata *drvdata)
29{
30 return 0;
31}
32
33static inline void cc_pm_go(struct cc_drvdata *drvdata) {}
34
35static inline void cc_pm_fini(struct cc_drvdata *drvdata) {}
36
37static inline int cc_pm_suspend(struct device *dev)
38{
39 return 0;
40}
41
42static inline int cc_pm_resume(struct device *dev)
43{
44 return 0;
45}
46
47static inline int cc_pm_get(struct device *dev)
48{
49 return 0;
50}
51
52static inline int cc_pm_put_suspend(struct device *dev)
53{
54 return 0;
55}
56
57#endif
58
59#endif /*__POWER_MGR_H__*/