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>
This commit is contained in:
Daniel Lezcano 2017-10-19 19:05:43 +02:00 committed by Eduardo Valentin
parent ba817a8cfc
commit c176b10b02
1 changed files with 3 additions and 2 deletions

View File

@ -345,8 +345,7 @@ static int hisi_thermal_probe(struct platform_device *pdev)
} }
hisi_thermal_enable_bind_irq_sensor(data); hisi_thermal_enable_bind_irq_sensor(data);
irq_get_irqchip_state(data->irq, IRQCHIP_STATE_MASKED, data->irq_enabled = true;
&data->irq_enabled);
for (i = 0; i < HISI_MAX_SENSORS; ++i) { for (i = 0; i < HISI_MAX_SENSORS; ++i) {
ret = hisi_thermal_register_sensor(pdev, data, ret = hisi_thermal_register_sensor(pdev, data,
@ -358,6 +357,8 @@ static int hisi_thermal_probe(struct platform_device *pdev)
hisi_thermal_toggle_sensor(&data->sensors[i], true); hisi_thermal_toggle_sensor(&data->sensors[i], true);
} }
enable_irq(data->irq);
return 0; return 0;
} }