GNU Linux-libre 4.14.251-gnu1
[releases.git] / drivers / staging / ccree / ssi_pm.h
1 /*
2  * Copyright (C) 2012-2017 ARM Limited or its affiliates.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see <http://www.gnu.org/licenses/>.
15  */
16
17 /* \file ssi_pm.h
18  */
19
20 #ifndef __SSI_POWER_MGR_H__
21 #define __SSI_POWER_MGR_H__
22
23 #include "ssi_config.h"
24 #include "ssi_driver.h"
25
26 #define SSI_SUSPEND_TIMEOUT 3000
27
28 int ssi_power_mgr_init(struct ssi_drvdata *drvdata);
29
30 void ssi_power_mgr_fini(struct ssi_drvdata *drvdata);
31
32 #if defined(CONFIG_PM_RUNTIME) || defined(CONFIG_PM_SLEEP)
33 int ssi_power_mgr_runtime_suspend(struct device *dev);
34
35 int ssi_power_mgr_runtime_resume(struct device *dev);
36
37 int ssi_power_mgr_runtime_get(struct device *dev);
38
39 int ssi_power_mgr_runtime_put_suspend(struct device *dev);
40 #endif
41
42 #endif /*__POWER_MGR_H__*/
43