summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2018-06-09 16:02:34 +0300
committerMichael Bestas <mkbestas@lineageos.org>2019-10-23 01:12:56 +0300
commit92ae28df4f36e790600b0af9834dc41db70b4fe0 (patch)
tree99c7168c1c22a494c71cba34b7d6a3cfd40e9fd6
parent441b09832d20b4596bb57699ecb5e3544cb6877c (diff)
downloadvendor_qcom_opensource_power-92ae28df4f36e790600b0af9834dc41db70b4fe0.tar.gz
vendor_qcom_opensource_power-92ae28df4f36e790600b0af9834dc41db70b4fe0.tar.bz2
vendor_qcom_opensource_power-92ae28df4f36e790600b0af9834dc41db70b4fe0.zip
power: Remove powerhintparser
* The usage of this code was removed in commit 0c226b7921b421dd24363f15aefef1236aa25287 * powerhint.xml is now read by libqti-perfd Change-Id: I498ad19d0bb43124e4518c5a4f20191a2c122997
-rw-r--r--Android.mk6
-rw-r--r--power-8998.c1
-rw-r--r--powerhintparser.c179
-rw-r--r--powerhintparser.h48
4 files changed, 2 insertions, 232 deletions
diff --git a/Android.mk b/Android.mk
index 877187d..45ae23f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -7,12 +7,10 @@ ifeq ($(call is-vendor-board-platform,QCOM),true)
include $(CLEAR_VARS)
LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_SHARED_LIBRARIES := liblog libcutils libdl libxml2 libbase libhidlbase libhidltransport libutils android.hardware.power@1.2
+LOCAL_SHARED_LIBRARIES := liblog libcutils libdl libbase libhidlbase libhidltransport libutils android.hardware.power@1.2
LOCAL_HEADER_LIBRARIES += libutils_headers
LOCAL_HEADER_LIBRARIES += libhardware_headers
-LOCAL_SRC_FILES := power-common.c metadata-parser.c utils.c list.c hint-data.c powerhintparser.c service.cpp Power.cpp
-LOCAL_C_INCLUDES := external/libxml2/include \
- external/icu/icu4c/source/common
+LOCAL_SRC_FILES := power-common.c metadata-parser.c utils.c list.c hint-data.c service.cpp Power.cpp
# Include target-specific files.
ifeq ($(call is-board-platform-in-list, msm8974), true)
diff --git a/power-8998.c b/power-8998.c
index d3d81c9..651ddf5 100644
--- a/power-8998.c
+++ b/power-8998.c
@@ -48,7 +48,6 @@
#include "hint-data.h"
#include "performance.h"
#include "power-common.h"
-#include "powerhintparser.h"
#define CHECK_HANDLE(x) ((x)>0)
#define NUM_PERF_MODES 3
diff --git a/powerhintparser.c b/powerhintparser.c
deleted file mode 100644
index 6d8646f..0000000
--- a/powerhintparser.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of The Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-#include <cutils/log.h>
-#include <fcntl.h>
-#include <string.h>
-#include <cutils/properties.h>
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-#include <unistd.h>
-#include "powerhintparser.h"
-#define LOG_TAG "QTI PowerHAL"
-
-int parsePowerhintXML() {
-
- xmlDocPtr doc;
- xmlNodePtr currNode;
- const char *opcode_str, *value_str, *type_str;
- int opcode = 0, value = 0, type = 0;
- int numParams = 0;
- static int hintCount;
-
- if(access(POWERHINT_XML, F_OK) < 0) {
- return -1;
- }
-
- doc = xmlReadFile(POWERHINT_XML, "UTF-8", XML_PARSE_RECOVER);
- if(!doc) {
- ALOGE("Document not parsed successfully");
- return -1;
- }
-
- currNode = xmlDocGetRootElement(doc);
- if(!currNode) {
- ALOGE("Empty document");
- xmlFreeDoc(doc);
- xmlCleanupParser();
- return -1;
- }
-
- // Confirm the root-element of the tree
- if(xmlStrcmp(currNode->name, BAD_CAST "Powerhint")) {
- ALOGE("document of the wrong type, root node != root");
- xmlFreeDoc(doc);
- xmlCleanupParser();
- return -1;
- }
-
- currNode = currNode->xmlChildrenNode;
-
- for(; currNode != NULL; currNode=currNode->next) {
-
- if(currNode->type != XML_ELEMENT_NODE)
- continue;
-
- xmlNodePtr node = currNode;
-
- if(hintCount == MAX_HINT) {
- ALOGE("Number of hints exceeded the max count of %d\n",MAX_HINT);
- break;
- }
-
- if(!xmlStrcmp(node->name, BAD_CAST "Hint")) {
- if(xmlHasProp(node, BAD_CAST "type")) {
- type_str = (const char*)xmlGetProp(node, BAD_CAST "type");
- if (type_str == NULL)
- {
- ALOGE("xmlGetProp failed on type");
- xmlFreeDoc(doc);
- xmlCleanupParser();
- return -1;
- }
- type = strtol(type_str, NULL, 16);
- }
-
- node = node->children;
- while(node != NULL) {
- if(!xmlStrcmp(node->name, BAD_CAST "Resource")) {
-
- if(xmlHasProp(node, BAD_CAST "opcode")) {
- opcode_str = (const char*)xmlGetProp(node, BAD_CAST "opcode");
- if (opcode_str == NULL)
- {
- ALOGE("xmlGetProp failed on opcode");
- xmlFreeDoc(doc);
- xmlCleanupParser();
- return -1;
- }
- opcode = strtol(opcode_str, NULL, 16);
- }
- if(xmlHasProp(node, BAD_CAST "value")) {
- value_str = (const char*)xmlGetProp(node, BAD_CAST "value");
- if (value_str == NULL)
- {
- ALOGE("xmlGetProp failed on value");
- xmlFreeDoc(doc);
- xmlCleanupParser();
- return -1;
- }
- value = strtol(value_str, NULL, 16);
- }
- if(opcode > 0) {
- if(numParams < (MAX_PARAM-1)) {
- powerhint[hintCount].paramList[numParams++] = opcode;
- powerhint[hintCount].paramList[numParams++] = value;
- } else {
- ALOGE("Maximum parameters exceeded for Hint ID %x\n",type);
- opcode = value = 0;
- break;
- }
- }
-
- opcode = value = 0;
- }
- node = node->next;
- }
- powerhint[hintCount].type = type;
- powerhint[hintCount].numParams = numParams;
- numParams = 0;
- }
- hintCount++;
- }
-
- xmlFreeDoc(doc);
- xmlCleanupParser();
- return 0;
-}
-
-int* getPowerhint(int hint_id, int *params) {
-
- int *result = NULL;
-
- if(!hint_id)
- return result;
-
- ALOGI("Powerhal hint received=%x\n",hint_id);
-
- if(!powerhint[0].numParams) {
- parsePowerhintXML();
- }
-
- for(int i = 0; i < MAX_HINT; i++) {
- if(hint_id == powerhint[i].type) {
- *params = powerhint[i].numParams;
- result = powerhint[i].paramList;
- break;
- }
- }
-
- /*for (int j = 0; j < *params; j++)
- ALOGI("Powerhal resource again%x = \n", result[j]);*/
-
- return result;
-}
diff --git a/powerhintparser.h b/powerhintparser.h
deleted file mode 100644
index 5f9cbe6..0000000
--- a/powerhintparser.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of The Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifndef __POWERHINTPARSER__
-#define __POWERHINTPARSER__
-
-#define POWERHINT_XML "/vendor/etc/powerhint.xml"
-#define MAX_HINT 6
-#define MAX_PARAM 30
-
-typedef struct perflock_param_t {
- int type;
- int numParams;
- int paramList[MAX_PARAM];//static limit on number of hints - 15
-}perflock_param_t;
-
-static perflock_param_t powerhint[MAX_HINT];
-
-int parsePowerhintXML();
-int *getPowerhint(int, int*);
-
-#endif /* __POWERHINTPARSER__ */