blob: 50cac33de11832bcdf1f6e5effca9b3a237a180c [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* SPDX-License-Identifier: GPL-2.0 */
David Brazdil0f672f62019-12-10 10:32:29 +00002/* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00003
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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000018int cc_pm_get(struct device *dev);
Olivier Deprez157378f2022-04-04 15:47:50 +020019void cc_pm_put_suspend(struct device *dev);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000020
21#else
22
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000023static inline int cc_pm_get(struct device *dev)
24{
25 return 0;
26}
27
Olivier Deprez157378f2022-04-04 15:47:50 +020028static inline void cc_pm_put_suspend(struct device *dev) {}
David Brazdil0f672f62019-12-10 10:32:29 +000029
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000030#endif
31
32#endif /*__POWER_MGR_H__*/