diff options
| author | Ruchi Kandoi <kandoiruchi@google.com> | 2016-10-07 19:29:28 -0700 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-09-10 17:55:57 +0200 |
| commit | 9d2250042334b62d052bcda06fcffd685ae7827e (patch) | |
| tree | b17d3815d9f33ea14ddb8afda709fa62538eea75 | |
| parent | c50b03a964f4a275a670c1a3dde599ba1223d9c7 (diff) | |
Make powerHAL compatible for passthrough HIDL design
Needed for O, ported to cm mtk powerhal
Bug: 31177288
Change-Id: Ia65f6b50d091a02199565af1d8855ec7473e7323
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
Signed-off-by: jhenrique09 <jhenrique09.mcz@hotmail.com>
Signed-off-by: Mister Oyster <oysterized@gmail.com>
| -rw-r--r-- | mtk/power/power.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/mtk/power/power.c b/mtk/power/power.c index 2a45aff..3932866 100644 --- a/mtk/power/power.c +++ b/mtk/power/power.c @@ -19,6 +19,8 @@ #include <sys/stat.h> #include <fcntl.h> +#include <stdlib.h> + #define LOG_TAG "MTK PowerHAL" #include <utils/Log.h> @@ -100,8 +102,38 @@ void set_feature(struct power_module *module, feature_t feature, int state) #endif } +static int power_open(const hw_module_t* module, const char* name, + hw_device_t** device) +{ + ALOGD("%s: enter; name=%s", __FUNCTION__, name); + int retval = 0; /* 0 is ok; -1 is error */ + + if (strcmp(name, POWER_HARDWARE_MODULE_ID) == 0) { + power_module_t *dev = (power_module_t *)calloc(1, + sizeof(power_module_t)); + + if (dev) { + /* Common hw_device_t fields */ + dev->common.tag = HARDWARE_MODULE_TAG; + dev->common.module_api_version = POWER_MODULE_API_VERSION_0_2; + dev->common.module_api_version = HARDWARE_HAL_API_VERSION; + + dev->init = power_init; + dev->powerHint = power_hint; + + *device = (hw_device_t*)dev; + } else + retval = -ENOMEM; + } else { + retval = -EINVAL; + } + + ALOGD("%s: exit %d", __FUNCTION__, retval); + return retval; +} + static struct hw_module_methods_t power_module_methods = { - .open = NULL, + .open = power_open, }; struct power_module HAL_MODULE_INFO_SYM = { |
