summaryrefslogtreecommitdiff
path: root/power/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'power/utils.c')
-rw-r--r--power/utils.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/power/utils.c b/power/utils.c
index c1ea78a..202b718 100644
--- a/power/utils.c
+++ b/power/utils.c
@@ -42,6 +42,9 @@
#define LOG_TAG "QCOM PowerHAL"
#include <utils/Log.h>
+#define SOC_ID_0 "/sys/devices/soc0/soc_id"
+#define SOC_ID_1 "/sys/devices/system/soc/soc0/id"
+
char scaling_gov_path[4][80] ={
"sys/devices/system/cpu/cpu0/cpufreq/scaling_governor",
"sys/devices/system/cpu/cpu1/cpufreq/scaling_governor",
@@ -388,3 +391,24 @@ void start_prefetch(int pid, const char* packageName) {
}
}
+int get_soc_id(void)
+{
+ int fd;
+ int soc_id = -1;
+ char buf[10] = { 0 };
+
+ if (!access(SOC_ID_0, F_OK))
+ fd = open(SOC_ID_0, O_RDONLY);
+ else
+ fd = open(SOC_ID_1, O_RDONLY);
+
+ if (fd >= 0) {
+ if (read(fd, buf, sizeof(buf) - 1) == -1)
+ ALOGW("Unable to read soc_id");
+ else
+ soc_id = atoi(buf);
+ }
+
+ close(fd);
+ return soc_id;
+}