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

Message ID 1508432760-17847-1-git-send-email-daniel.lezcano@linaro.org
State Accepted
Headers show

Commit Message

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

Comments

Eduardo Valentin Oct. 20, 2017, 1:52 a.m. UTC | #1
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?

What happened to the other 7 patches?

> 
> 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(-)
> 
> 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;
>  }
>  
> -- 
> 2.7.4
>
Daniel Lezcano Oct. 20, 2017, 6:35 a.m. UTC | #2
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

Patch
diff mbox

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;
 }