#define CPUFREQ_PMQOS_PATH_PREFIX "/sys/devices/system/cpu/cpufreq/pmqos"
#define CPUFREQ_PATH_PREFIX "/sys/devices/system/cpu/"
+#define TMU_PATH_PREFIX "/sys/class/sec/temperature/"
#define CPUFREQ_CPU_ONLINE_MIN_NUM_PATH_SUFFIX "/cpu_online_min"
#define CPUFREQ_CPU_ONLINE_MAX_NUM_PATH_SUFFIX "/cpu_online_max"
.set_online_max_num = tm1_hotplug_set_online_max_num,
};
+static int tm1_cpu_get_temp(char *res_thermal_name)
+{
+ char path[PATH_MAX];
+ char buf[PATH_MAX];
+ char *pos;
+ int temp = 0;
+ int ret;
+
+ if (!res_thermal_name)
+ return -EINVAL;
+
+ snprintf(path, PATH_MAX, "%s%s", TMU_PATH_PREFIX, res_thermal_name);
+
+ ret = sysfs_read_str(path, buf, sizeof(buf));
+ if (ret < 0)
+ return ret;
+
+ pos = strstr(buf, "temp:");
+ if (!pos || !(pos[5]))
+ return -EINVAL;
+ pos += 5;
+ temp = atoi(pos);
+
+ return temp;
+}
+
static struct pass_resource_tmu_ops tm1_cpu_tmu_ops = {
- .get_temp = NULL,
+ .get_temp = tm1_cpu_get_temp,
.get_policy = NULL,
};