aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2017-10-19 13:05:43 -0400
committerEduardo Valentin <edubezval@gmail.com>2017-10-31 22:32:14 -0400
commitc176b10b025acee4dc8f2ab1cd64eb73b5ccef53 (patch)
treeab6cf771abe8e5e02f67dfda64effb829cd331f8
parentba817a8cfc2e128b59af7fe8b6af72ed38763b87 (diff)
thermal/drivers/hisi: Fix missing interrupt enablement
The interrupt for the temperature threshold is not enabled at the end of the probe function, enable it after the setup is complete. On the other side, the irq_enabled is not correctly set as we are checking if the interrupt is masked where 'yes' means irq_enabled=false. irq_get_irqchip_state(data->irq, IRQCHIP_STATE_MASKED, &data->irq_enabled); As we are always enabling the interrupt, it is pointless to check if the interrupt is masked or not, just set irq_enabled to 'true'. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Leo Yan <leo.yan@linaro.org> Tested-by: Leo Yan <leo.yan@linaro.org> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
-rw-r--r--drivers/thermal/hisi_thermal.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c
index bd3572c41585..8381696241d6 100644
--- a/drivers/thermal/hisi_thermal.c
+++ b/drivers/thermal/hisi_thermal.c
@@ -345,8 +345,7 @@ static int hisi_thermal_probe(struct platform_device *pdev)
345 } 345 }
346 346
347 hisi_thermal_enable_bind_irq_sensor(data); 347 hisi_thermal_enable_bind_irq_sensor(data);
348 irq_get_irqchip_state(data->irq, IRQCHIP_STATE_MASKED, 348 data->irq_enabled = true;
349 &data->irq_enabled);
350 349
351 for (i = 0; i < HISI_MAX_SENSORS; ++i) { 350 for (i = 0; i < HISI_MAX_SENSORS; ++i) {
352 ret = hisi_thermal_register_sensor(pdev, data, 351 ret = hisi_thermal_register_sensor(pdev, data,
@@ -358,6 +357,8 @@ static int hisi_thermal_probe(struct platform_device *pdev)
358 hisi_thermal_toggle_sensor(&data->sensors[i], true); 357 hisi_thermal_toggle_sensor(&data->sensors[i], true);
359 } 358 }
360 359
360 enable_irq(data->irq);
361
361 return 0; 362 return 0;
362} 363}
363 364