root/drivers/crypto/ccree/cc_pm.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. cc_pm_init
  2. cc_pm_go
  3. cc_pm_fini
  4. cc_pm_suspend
  5. cc_pm_resume
  6. cc_pm_get
  7. cc_pm_put_suspend
  8. cc_pm_is_dev_suspended

   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 bool cc_pm_is_dev_suspended(struct device *dev);
  26 
  27 #else
  28 
  29 static inline int cc_pm_init(struct cc_drvdata *drvdata)
  30 {
  31         return 0;
  32 }
  33 
  34 static inline void cc_pm_go(struct cc_drvdata *drvdata) {}
  35 
  36 static inline void cc_pm_fini(struct cc_drvdata *drvdata) {}
  37 
  38 static inline int cc_pm_suspend(struct device *dev)
  39 {
  40         return 0;
  41 }
  42 
  43 static inline int cc_pm_resume(struct device *dev)
  44 {
  45         return 0;
  46 }
  47 
  48 static inline int cc_pm_get(struct device *dev)
  49 {
  50         return 0;
  51 }
  52 
  53 static inline int cc_pm_put_suspend(struct device *dev)
  54 {
  55         return 0;
  56 }
  57 
  58 static inline bool cc_pm_is_dev_suspended(struct device *dev)
  59 {
  60         /* if PM not supported device is never suspend */
  61         return false;
  62 }
  63 
  64 #endif
  65 
  66 #endif /*__POWER_MGR_H__*/

/* [<][>][^][v][top][bottom][index][help] */