sdm845-common: power: Add support for tap-to-wake feature control
Change-Id: I545902b29f4828c127bc32def6e30b67ce4a3aa7
This commit is contained in:
parent
d09238f8a2
commit
d0544a616a
@ -2,6 +2,10 @@ LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
ifneq ($(TARGET_TAP_TO_WAKE_NODE),)
|
||||
LOCAL_CFLAGS += -DTAP_TO_WAKE_NODE=\"$(TARGET_TAP_TO_WAKE_NODE)\"
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := power.qcom
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
|
@ -442,6 +442,18 @@ void set_interactive(struct power_module* module, int on) {
|
||||
saved_interactive_mode = !!on;
|
||||
}
|
||||
|
||||
void set_feature(struct power_module* module, feature_t feature, int state) {
|
||||
switch (feature) {
|
||||
#ifdef TAP_TO_WAKE_NODE
|
||||
case POWER_FEATURE_DOUBLE_TAP_TO_WAKE:
|
||||
sysfs_write(TAP_TO_WAKE_NODE, state ? "1" : "0");
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static int power_device_open(const hw_module_t* module, const char* name, hw_device_t** device) {
|
||||
int status = -EINVAL;
|
||||
if (module && name && device) {
|
||||
@ -453,13 +465,13 @@ static int power_device_open(const hw_module_t* module, const char* name, hw_dev
|
||||
|
||||
if (dev) {
|
||||
/* initialize the fields */
|
||||
dev->common.module_api_version = POWER_MODULE_API_VERSION_0_2;
|
||||
dev->common.module_api_version = POWER_MODULE_API_VERSION_0_3;
|
||||
dev->common.tag = HARDWARE_DEVICE_TAG;
|
||||
dev->init = power_init;
|
||||
dev->powerHint = power_hint;
|
||||
dev->setInteractive = set_interactive;
|
||||
/* At the moment we support 0.2 APIs */
|
||||
dev->setFeature = NULL,
|
||||
/* At the moment we support 0.3 APIs */
|
||||
dev->setFeature = set_feature;
|
||||
dev->get_number_of_platform_modes = NULL;
|
||||
dev->get_platform_low_power_stats = NULL;
|
||||
dev->get_voter_list = NULL;
|
||||
@ -481,7 +493,7 @@ struct power_module HAL_MODULE_INFO_SYM = {
|
||||
.common =
|
||||
{
|
||||
.tag = HARDWARE_MODULE_TAG,
|
||||
.module_api_version = POWER_MODULE_API_VERSION_0_2,
|
||||
.module_api_version = POWER_MODULE_API_VERSION_0_3,
|
||||
.hal_api_version = HARDWARE_HAL_API_VERSION,
|
||||
.id = POWER_HARDWARE_MODULE_ID,
|
||||
.name = "QCOM Power HAL",
|
||||
@ -492,4 +504,5 @@ struct power_module HAL_MODULE_INFO_SYM = {
|
||||
.init = power_init,
|
||||
.powerHint = power_hint,
|
||||
.setInteractive = set_interactive,
|
||||
.setFeature = set_feature
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user