summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/thermal/msm_thermal.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/thermal/msm_thermal.c b/drivers/thermal/msm_thermal.c
index bca85bf2f7ec..bd1d208626db 100644
--- a/drivers/thermal/msm_thermal.c
+++ b/drivers/thermal/msm_thermal.c
@@ -188,6 +188,7 @@ static bool ocr_nodes_called;
static bool ocr_probed;
static bool ocr_reg_init_defer;
static bool hotplug_enabled;
+static bool interrupt_mode_enable;
static bool msm_thermal_probed;
static bool gfx_crit_phase_ctrl_enabled;
static bool gfx_warm_phase_ctrl_enabled;
@@ -4919,9 +4920,10 @@ static void __ref disable_msm_thermal(void)
static void interrupt_mode_init(void)
{
- if (!msm_thermal_probed)
+ if (!msm_thermal_probed) {
+ interrupt_mode_enable = true;
return;
-
+ }
if (polling_enabled) {
polling_enabled = 0;
create_sensor_zone_id_map();
@@ -7434,6 +7436,10 @@ static int msm_thermal_dev_probe(struct platform_device *pdev)
if (ret)
goto probe_exit;
msm_thermal_probed = true;
+ if (interrupt_mode_enable) {
+ interrupt_mode_init();
+ interrupt_mode_enable = false;
+ }
probe_exit:
return ret;
@@ -7570,6 +7576,7 @@ int __init msm_thermal_late_init(void)
}
}
msm_thermal_add_mx_nodes();
+ interrupt_mode_init();
create_cpu_topology_sysfs();
create_thermal_debugfs();
msm_thermal_add_bucket_info_nodes();