/include/linux/pwrctrl_power_state_manager.h

https://github.com/omerazo/android_kernel_huawei_hi3650 · C Header · 151 lines · 75 code · 46 blank · 30 comment · 0 complexity · 36219955a5cc859a7b86bdf4b5f14216 MD5 · raw file

  1. /*****************************************************************************
  2. 1 Í·Îļþ°üº¬
  3. *****************************************************************************/
  4. #ifndef __PWRCTRL_POWER_STATE_MANGER_H__
  5. #define __PWRCTRL_POWER_STATE_MANGER_H__
  6. #include<linux/kernel.h>
  7. #include<linux/module.h>
  8. #include<linux/string.h>
  9. #include "io.h"
  10. #ifdef __cplusplus
  11. #if __cplusplus
  12. extern "C" {
  13. #endif
  14. #endif
  15. /*****************************************************************************
  16. 2 ºê¶¨Òå
  17. *****************************************************************************/
  18. #define PWRCTRL_MAGIC_OFFSET 24
  19. #define PWRCTRL_STATE_OFFSET 16
  20. #define PWRCTRL_MODULE_ID_OFFSET 0
  21. #define PWRCTRL_STATE_MAGIC 0xBD
  22. #define PWRCTRL_POWER_STAT_INVALID_ID (-1)
  23. #define bool_t unsigned int
  24. #define void_t void
  25. #define s8_t char
  26. #define s16_t short
  27. #define s32_t int
  28. #define u8_t unsigned char
  29. #define u16_t unsigned short
  30. #define u32_t unsigned int
  31. #define u64_t unsigned long long
  32. /*****************************************************************************
  33. 3 ö¾Ù¶¨Òå
  34. *****************************************************************************/
  35. typedef enum tagPWRCTRL_SLEEP_STATE_CLIENT_ID_E
  36. {
  37. PWRCTRL_SLEEP_USB,
  38. PWRCTRL_SLEEP_EMMC,
  39. PWRCTRL_SLEEP_SDCARD,
  40. PWRCTRL_SLEEP_EDMAC,
  41. PWRCTRL_SLEEP_SDIO,
  42. PWRCTRL_SLEEP_ADE,
  43. PWRCTRL_SLEEP_CLIENT_BUTT
  44. }PWRCTRL_SLEEP_STATE_CLIENT_ID_E;
  45. typedef enum tagPWCTRL_SLEEP_STATE_ID_E
  46. {
  47. PWRCTRL_SYS_STAT_S1,
  48. PWRCTRL_SYS_STAT_S2,
  49. PWRCTRL_SYS_STAT_S3,
  50. PWRCTRL_SYS_STAT_BUTT
  51. }PWRCTRL_SLEEP_STATE_ID_E;
  52. typedef enum
  53. {
  54. RET_ERR_PARAM_NULL = -0xF000,
  55. RET_ERR_PARAM_INVALID,
  56. RET_ERR_OVERFLOW,
  57. RET_ERR_INSUFFICIENT,
  58. RET_ERR_LIMITED,
  59. RET_ERR_NOT_FOUND,
  60. RET_ERR_NOT_OPEN,
  61. RET_ERR_DUPLICATE,
  62. RET_ERR_CONNECT_FAIL,
  63. RET_ERR_TIME_OUT,
  64. RET_ERR_UNKNOWN,
  65. RET_ERR = -1,
  66. RET_OK = 0
  67. } EM_PWC_RET;
  68. /*****************************************************************************
  69. 4 ÏûϢͷ¶¨Òå
  70. *****************************************************************************/
  71. /*****************************************************************************
  72. 5 ÏûÏ¢¶¨Òå
  73. *****************************************************************************/
  74. /*****************************************************************************
  75. 6 STRUCT¶¨Òå
  76. *****************************************************************************/
  77. typedef struct PWRCTRL_POWER_STAT_QOS_ID_S
  78. {
  79. int pwrctrl_power_stater_usb_qos_id;
  80. int pwrctrl_power_stater_emmc_qos_id;
  81. int pwrctrl_power_stater_sdcard_qos_id;
  82. int pwrctrl_power_stater_edmac_qos_id;
  83. int pwrctrl_power_stater_ade_qos_id;
  84. }PWRCTRL_POWER_STAT_QOS_ID;
  85. /*****************************************************************************
  86. 7 UNION¶¨Òå
  87. *****************************************************************************/
  88. /*****************************************************************************
  89. 8 OTHERS¶¨Òå
  90. *****************************************************************************/
  91. /*****************************************************************************
  92. 9 È«¾Ö±äÁ¿ÉùÃ÷
  93. *****************************************************************************/
  94. extern unsigned int *g_pwrctrl_sleep_state_votemap ;
  95. /*****************************************************************************
  96. 10 º¯ÊýÉùÃ÷
  97. *****************************************************************************/
  98. extern s32_t pwrctrl_request_power_state( s32_t module_id, s32_t state, s32_t *req_id);
  99. extern s32_t pwrctrl_release_power_state( s32_t req_id);
  100. #ifdef __cplusplus
  101. #if __cplusplus
  102. }
  103. #endif
  104. #endif
  105. #endif