diff mbox

thermal: of-thermal: Fix setting of set_emul_temp hook

Message ID 1464857690-23330-1-git-send-email-j-keerthy@ti.com
State Accepted
Delegated to: Eduardo Valentin
Headers show

Commit Message

J, KEERTHY June 2, 2016, 8:54 a.m. UTC
Currently thermal zone set_emul_temp is set unconditionally
with of_thermal_set_emul_temp function. Set this only if the
set_emul_temp hook is provided for thermal_zone_of_device_ops.

This fixes emul_temp failures on platforms for which set_emul_temp
hook is not populated.

Fixes: "184a4bf623f (thermal: of: Extend current
	of-thermal.c code to allow setting emulated temp)"
Suggested-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 drivers/thermal/of-thermal.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Keerthy June 10, 2016, 6:27 a.m. UTC | #1
On Thursday 02 June 2016 02:24 PM, Keerthy wrote:
> Currently thermal zone set_emul_temp is set unconditionally
> with of_thermal_set_emul_temp function. Set this only if the
> set_emul_temp hook is provided for thermal_zone_of_device_ops.
>
> This fixes emul_temp failures on platforms for which set_emul_temp
> hook is not populated.

Eduardo,

A gentle ping on this patch.


>
> Fixes: "184a4bf623f (thermal: of: Extend current
> 	of-thermal.c code to allow setting emulated temp)"
> Suggested-by: Eduardo Valentin <edubezval@gmail.com>
> Signed-off-by: Keerthy <j-keerthy@ti.com>
> ---
>   drivers/thermal/of-thermal.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c
> index b8e509c..93d8ce0 100644
> --- a/drivers/thermal/of-thermal.c
> +++ b/drivers/thermal/of-thermal.c
> @@ -181,9 +181,6 @@ static int of_thermal_set_emul_temp(struct thermal_zone_device *tz,
>   {
>   	struct __thermal_zone *data = tz->devdata;
>
> -	if (!data->ops || !data->ops->set_emul_temp)
> -		return -EINVAL;
> -
>   	return data->ops->set_emul_temp(data->sensor_data, temp);
>   }
>
> @@ -427,7 +424,9 @@ thermal_zone_of_add_sensor(struct device_node *zone,
>
>   	tzd->ops->get_temp = of_thermal_get_temp;
>   	tzd->ops->get_trend = of_thermal_get_trend;
> -	tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
> +	if (ops->set_emul_temp)
> +		tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
> +
>   	mutex_unlock(&tzd->lock);
>
>   	return tzd;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keerthy June 27, 2016, 6:18 a.m. UTC | #2
On Friday 10 June 2016 11:57 AM, Keerthy wrote:
>
>
> On Thursday 02 June 2016 02:24 PM, Keerthy wrote:
>> Currently thermal zone set_emul_temp is set unconditionally
>> with of_thermal_set_emul_temp function. Set this only if the
>> set_emul_temp hook is provided for thermal_zone_of_device_ops.
>>
>> This fixes emul_temp failures on platforms for which set_emul_temp
>> hook is not populated.
>
> Eduardo,
>
> A gentle ping on this patch.

Eduardo,

Another gentle ping.


>
>
>>
>> Fixes: "184a4bf623f (thermal: of: Extend current
>>     of-thermal.c code to allow setting emulated temp)"
>> Suggested-by: Eduardo Valentin <edubezval@gmail.com>
>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>> ---
>>   drivers/thermal/of-thermal.c | 7 +++----
>>   1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c
>> index b8e509c..93d8ce0 100644
>> --- a/drivers/thermal/of-thermal.c
>> +++ b/drivers/thermal/of-thermal.c
>> @@ -181,9 +181,6 @@ static int of_thermal_set_emul_temp(struct
>> thermal_zone_device *tz,
>>   {
>>       struct __thermal_zone *data = tz->devdata;
>>
>> -    if (!data->ops || !data->ops->set_emul_temp)
>> -        return -EINVAL;
>> -
>>       return data->ops->set_emul_temp(data->sensor_data, temp);
>>   }
>>
>> @@ -427,7 +424,9 @@ thermal_zone_of_add_sensor(struct device_node *zone,
>>
>>       tzd->ops->get_temp = of_thermal_get_temp;
>>       tzd->ops->get_trend = of_thermal_get_trend;
>> -    tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
>> +    if (ops->set_emul_temp)
>> +        tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
>> +
>>       mutex_unlock(&tzd->lock);
>>
>>       return tzd;
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c
index b8e509c..93d8ce0 100644
--- a/drivers/thermal/of-thermal.c
+++ b/drivers/thermal/of-thermal.c
@@ -181,9 +181,6 @@  static int of_thermal_set_emul_temp(struct thermal_zone_device *tz,
 {
 	struct __thermal_zone *data = tz->devdata;
 
-	if (!data->ops || !data->ops->set_emul_temp)
-		return -EINVAL;
-
 	return data->ops->set_emul_temp(data->sensor_data, temp);
 }
 
@@ -427,7 +424,9 @@  thermal_zone_of_add_sensor(struct device_node *zone,
 
 	tzd->ops->get_temp = of_thermal_get_temp;
 	tzd->ops->get_trend = of_thermal_get_trend;
-	tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
+	if (ops->set_emul_temp)
+		tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
+
 	mutex_unlock(&tzd->lock);
 
 	return tzd;