[01/18] thermal/drivers/hisi: Fix missing interrupt enablement

Message ID 1508432760-17847-1-git-send-email-daniel.lezcano@linaro.org
State Accepted
Commit c176b10b025acee4dc8f2ab1cd64eb73b5ccef53
Headers show
Series
  • [01/18] thermal/drivers/hisi: Fix missing interrupt enablement
Related show

Commit Message

Daniel Lezcano Oct. 19, 2017, 5:05 p.m.
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>

---
 drivers/thermal/hisi_thermal.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.7.4

Comments

Daniel Lezcano Oct. 20, 2017, 6:35 a.m. | #1
On 20/10/2017 03:52, Eduardo Valentin wrote:
> On Thu, Oct 19, 2017 at 07:05:43PM +0200, Daniel Lezcano wrote:

>> 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'.

> 

> 

> Why only 18 patches this time? Can you please add a cover letter (0/X)

> next time?


Yes sure.

Actually, I grouped the different series (acked and reviewed) into a git
pull request instead of having them around. I thought that could help
you. I sent a pull request with all these patches under this pull
request along with a description. Did you receive it? Note without the
threaded email view, it is easy to miss it.

> What happened to the other 7 patches?


As stated in the PR, I put them apart to solve the multi threshold issue
before resubmitting, probably by folding Kevin's latest change. I will
resend them very shortly.

  -- Daniel


-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

Patch

diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c
index 9c3ce34..f3b50b0 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)
 	}
 
 	hisi_thermal_enable_bind_irq_sensor(data);
-	irq_get_irqchip_state(data->irq, IRQCHIP_STATE_MASKED,
-			      &data->irq_enabled);
+	data->irq_enabled = true;
 
 	for (i = 0; i < HISI_MAX_SENSORS; ++i) {
 		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);
 	}
 
+	enable_irq(data->irq);
+
 	return 0;
 }