diff options
| -rw-r--r-- | drivers/thermal/msm_thermal.c | 11 |
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(); |
