summaryrefslogtreecommitdiffstats
path: root/include/hardware/power.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/hardware/power.h')
-rw-r--r--include/hardware/power.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/include/hardware/power.h b/include/hardware/power.h
index 10612f3..c266d8b 100644
--- a/include/hardware/power.h
+++ b/include/hardware/power.h
@@ -46,11 +46,19 @@ typedef enum {
*/
POWER_HINT_VIDEO_ENCODE = 0x00000003,
POWER_HINT_VIDEO_DECODE = 0x00000004,
- POWER_HINT_LOW_POWER = 0x00000005
+ POWER_HINT_LOW_POWER = 0x00000005,
+ POWER_HINT_CAM_PREVIEW = 0x00000006,
+
+ POWER_HINT_CPU_BOOST = 0x00000010,
+ POWER_HINT_LAUNCH_BOOST = 0x00000011,
+ POWER_HINT_AUDIO = 0x00000020,
+ POWER_HINT_SET_PROFILE = 0x00000030
+
} power_hint_t;
typedef enum {
- POWER_FEATURE_DOUBLE_TAP_TO_WAKE = 0x00000001
+ POWER_FEATURE_DOUBLE_TAP_TO_WAKE = 0x00000001,
+ POWER_FEATURE_SUPPORTED_PROFILES = 0x00001000
} feature_t;
/**
@@ -126,6 +134,12 @@ typedef struct power_module {
* parameter is non-zero when low power mode is activated, and zero
* when deactivated.
*
+ * POWER_HINT_CPU_BOOST
+ *
+ * An operation is happening where it would be ideal for the CPU to
+ * be boosted for a specific duration. The data parameter is an
+ * integer value of the boost duration in microseconds.
+ *
* A particular platform may choose to ignore any hint.
*
* availability: version 0.2
@@ -148,6 +162,12 @@ typedef struct power_module {
*/
void (*setFeature)(struct power_module *module, feature_t feature, int state);
+ /*
+ * (*getFeature) is called to get the current value of a particular
+ * feature or capability from the hardware or PowerHAL
+ */
+ int (*getFeature)(struct power_module *module, feature_t feature);
+
} power_module_t;