diff options
author | Corinna Vinschen <xda@vinschen.de> | 2018-04-09 22:55:59 +0200 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2019-10-23 01:12:56 +0300 |
commit | a250b9063caba339668dda3d3307f2245ad779dc (patch) | |
tree | 9a392f966e2e03e94c315355d792e0cd978cefa6 | |
parent | ee9bd619746cb0425905baf354e7f52130bb2ef8 (diff) | |
download | vendor_qcom_opensource_power-a250b9063caba339668dda3d3307f2245ad779dc.tar.gz vendor_qcom_opensource_power-a250b9063caba339668dda3d3307f2245ad779dc.tar.bz2 vendor_qcom_opensource_power-a250b9063caba339668dda3d3307f2245ad779dc.zip |
power: add back check for ro.vendor.extension_library
This partially reverts I0ce40bbefb8c867dda8ee5eb1f948af2106e692d,
"power: Using PerfHAL API".
Especially older systems don't provide libqti-perfd-client.so but this
is hardcoded since the aforementioned change. Use the former code
checking for ro.vendor.extension_library and try to load that library if
the property exists before falling back to loading
libqti-perfd-client.so.
Change-Id: If89e3b88062be10af7cfd43b6ba92a22fda32754
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
-rw-r--r-- | utils.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -60,13 +60,22 @@ static struct list_node active_hint_list_head; const char* pkg = "QTI PowerHAL"; static void* get_qcopt_handle() { + char qcopt_lib_path[PATH_MAX] = {0}; void* handle = NULL; dlerror(); - handle = dlopen(PERF_HAL_PATH, RTLD_NOW); + if (property_get("ro.vendor.extension_library", qcopt_lib_path, NULL)) { + handle = dlopen(qcopt_lib_path, RTLD_NOW); + if (!handle) { + ALOGE("Unable to open %s: %s\n", qcopt_lib_path, dlerror()); + } + } if (!handle) { - ALOGE("Unable to open %s: %s\n", PERF_HAL_PATH, dlerror()); + handle = dlopen(PERF_HAL_PATH, RTLD_NOW); + if (!handle) { + ALOGE("Unable to open %s: %s\n", PERF_HAL_PATH, dlerror()); + } } return handle; |