2016-03-03 09:34:06

by Wei Ni

[permalink] [raw]
Subject: [PATCH v2] thermal: consistently use int for trip temp

The commit 17e8351a7739 consistently use int for temperature,
however it missed a few in trip temperature and thermal_core.

In current codes, the trip->temperature used "unsigned long"
and zone->temperature used"int", if the temperature is negative
value, it will get wrong result when compare temperature with
trip temperature.

This patch can fix it.

Signed-off-by: Wei Ni <[email protected]>
---
drivers/thermal/thermal_core.c | 8 ++++----
include/linux/thermal.h | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index a0a8fd1235e2..e838786fedd8 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -684,7 +684,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr,
{
struct thermal_zone_device *tz = to_thermal_zone(dev);
int trip, ret;
- unsigned long temperature;
+ int temperature;

if (!tz->ops->set_trip_temp)
return -EPERM;
@@ -692,7 +692,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr,
if (!sscanf(attr->attr.name, "trip_point_%d_temp", &trip))
return -EINVAL;

- if (kstrtoul(buf, 10, &temperature))
+ if (kstrtoint(buf, 10, &temperature))
return -EINVAL;

ret = tz->ops->set_trip_temp(tz, trip, temperature);
@@ -895,9 +895,9 @@ emul_temp_store(struct device *dev, struct device_attribute *attr,
{
struct thermal_zone_device *tz = to_thermal_zone(dev);
int ret = 0;
- unsigned long temperature;
+ int temperature;

- if (kstrtoul(buf, 10, &temperature))
+ if (kstrtoint(buf, 10, &temperature))
return -EINVAL;

if (!tz->ops->set_emul_temp) {
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index e13a1ace50e9..eee0b7ddd2c1 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -350,8 +350,8 @@ struct thermal_zone_of_device_ops {

struct thermal_trip {
struct device_node *np;
- unsigned long int temperature;
- unsigned long int hysteresis;
+ int temperature;
+ int hysteresis;
enum thermal_trip_type type;
};

--
1.9.1


2016-03-07 08:23:32

by Wei Ni

[permalink] [raw]
Subject: Re: [PATCH v2] thermal: consistently use int for trip temp

There had a build error in previous patch.
Fixed it in this version.
Please review it.

Thanks.
Wei.

On 2016年03月03日 17:33, Wei Ni wrote:
> The commit 17e8351a7739 consistently use int for temperature,
> however it missed a few in trip temperature and thermal_core.
>
> In current codes, the trip->temperature used "unsigned long"
> and zone->temperature used"int", if the temperature is negative
> value, it will get wrong result when compare temperature with
> trip temperature.
>
> This patch can fix it.
>
> Signed-off-by: Wei Ni <[email protected]>
> ---
> drivers/thermal/thermal_core.c | 8 ++++----
> include/linux/thermal.h | 4 ++--
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index a0a8fd1235e2..e838786fedd8 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -684,7 +684,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr,
> {
> struct thermal_zone_device *tz = to_thermal_zone(dev);
> int trip, ret;
> - unsigned long temperature;
> + int temperature;
>
> if (!tz->ops->set_trip_temp)
> return -EPERM;
> @@ -692,7 +692,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr,
> if (!sscanf(attr->attr.name, "trip_point_%d_temp", &trip))
> return -EINVAL;
>
> - if (kstrtoul(buf, 10, &temperature))
> + if (kstrtoint(buf, 10, &temperature))
> return -EINVAL;
>
> ret = tz->ops->set_trip_temp(tz, trip, temperature);
> @@ -895,9 +895,9 @@ emul_temp_store(struct device *dev, struct device_attribute *attr,
> {
> struct thermal_zone_device *tz = to_thermal_zone(dev);
> int ret = 0;
> - unsigned long temperature;
> + int temperature;
>
> - if (kstrtoul(buf, 10, &temperature))
> + if (kstrtoint(buf, 10, &temperature))
> return -EINVAL;
>
> if (!tz->ops->set_emul_temp) {
> diff --git a/include/linux/thermal.h b/include/linux/thermal.h
> index e13a1ace50e9..eee0b7ddd2c1 100644
> --- a/include/linux/thermal.h
> +++ b/include/linux/thermal.h
> @@ -350,8 +350,8 @@ struct thermal_zone_of_device_ops {
>
> struct thermal_trip {
> struct device_node *np;
> - unsigned long int temperature;
> - unsigned long int hysteresis;
> + int temperature;
> + int hysteresis;
> enum thermal_trip_type type;
> };
>
>

2016-03-08 03:24:38

by Wei Ni

[permalink] [raw]
Subject: Re: [PATCH v2] thermal: consistently use int for trip temp



On 2016年03月07日 16:23, Wei Ni wrote:
> There had a build error in previous patch.
> Fixed it in this version.
> Please review it.

Add CC: [email protected]

>
> Thanks.
> Wei.
>
> On 2016年03月03日 17:33, Wei Ni wrote:
>> The commit 17e8351a7739 consistently use int for temperature,
>> however it missed a few in trip temperature and thermal_core.
>>
>> In current codes, the trip->temperature used "unsigned long"
>> and zone->temperature used"int", if the temperature is negative
>> value, it will get wrong result when compare temperature with
>> trip temperature.
>>
>> This patch can fix it.
>>
>> Signed-off-by: Wei Ni <[email protected]>
>> ---
>> drivers/thermal/thermal_core.c | 8 ++++----
>> include/linux/thermal.h | 4 ++--
>> 2 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
>> index a0a8fd1235e2..e838786fedd8 100644
>> --- a/drivers/thermal/thermal_core.c
>> +++ b/drivers/thermal/thermal_core.c
>> @@ -684,7 +684,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr,
>> {
>> struct thermal_zone_device *tz = to_thermal_zone(dev);
>> int trip, ret;
>> - unsigned long temperature;
>> + int temperature;
>>
>> if (!tz->ops->set_trip_temp)
>> return -EPERM;
>> @@ -692,7 +692,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr,
>> if (!sscanf(attr->attr.name, "trip_point_%d_temp", &trip))
>> return -EINVAL;
>>
>> - if (kstrtoul(buf, 10, &temperature))
>> + if (kstrtoint(buf, 10, &temperature))
>> return -EINVAL;
>>
>> ret = tz->ops->set_trip_temp(tz, trip, temperature);
>> @@ -895,9 +895,9 @@ emul_temp_store(struct device *dev, struct device_attribute *attr,
>> {
>> struct thermal_zone_device *tz = to_thermal_zone(dev);
>> int ret = 0;
>> - unsigned long temperature;
>> + int temperature;
>>
>> - if (kstrtoul(buf, 10, &temperature))
>> + if (kstrtoint(buf, 10, &temperature))
>> return -EINVAL;
>>
>> if (!tz->ops->set_emul_temp) {
>> diff --git a/include/linux/thermal.h b/include/linux/thermal.h
>> index e13a1ace50e9..eee0b7ddd2c1 100644
>> --- a/include/linux/thermal.h
>> +++ b/include/linux/thermal.h
>> @@ -350,8 +350,8 @@ struct thermal_zone_of_device_ops {
>>
>> struct thermal_trip {
>> struct device_node *np;
>> - unsigned long int temperature;
>> - unsigned long int hysteresis;
>> + int temperature;
>> + int hysteresis;
>> enum thermal_trip_type type;
>> };
>>
>>

2016-03-08 21:09:09

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH v2] thermal: consistently use int for trip temp

On Tue, Mar 08, 2016 at 11:24:39AM +0800, Wei Ni wrote:
>
>
> On 2016年03月07日 16:23, Wei Ni wrote:
> > There had a build error in previous patch.
> > Fixed it in this version.
> > Please review it.
>
> Add CC: [email protected]
>
> >
> > Thanks.
> > Wei.
> >
> > On 2016年03月03日 17:33, Wei Ni wrote:
> >> The commit 17e8351a7739 consistently use int for temperature,
> >> however it missed a few in trip temperature and thermal_core.
> >>
> >> In current codes, the trip->temperature used "unsigned long"
> >> and zone->temperature used"int", if the temperature is negative
> >> value, it will get wrong result when compare temperature with
> >> trip temperature.
> >>
> >> This patch can fix it.
> >>
> >> Signed-off-by: Wei Ni <[email protected]>

Rui are you collecting this one?

Acked-by: Eduardo Valentin <[email protected]>

2016-03-14 09:44:13

by Wei Ni

[permalink] [raw]
Subject: Re: [PATCH v2] thermal: consistently use int for trip temp



On 2016年03月09日 05:09, Eduardo Valentin wrote:
> On Tue, Mar 08, 2016 at 11:24:39AM +0800, Wei Ni wrote:
>>
>>
>> On 2016年03月07日 16:23, Wei Ni wrote:
>>> There had a build error in previous patch.
>>> Fixed it in this version.
>>> Please review it.
>>
>> Add CC: [email protected]
>>

Hi Rui,
Will you take this patch?

>>>
>>> Thanks.
>>> Wei.
>>>
>>> On 2016年03月03日 17:33, Wei Ni wrote:
>>>> The commit 17e8351a7739 consistently use int for temperature,
>>>> however it missed a few in trip temperature and thermal_core.
>>>>
>>>> In current codes, the trip->temperature used "unsigned long"
>>>> and zone->temperature used"int", if the temperature is negative
>>>> value, it will get wrong result when compare temperature with
>>>> trip temperature.
>>>>
>>>> This patch can fix it.
>>>>
>>>> Signed-off-by: Wei Ni <[email protected]>
>
> Rui are you collecting this one?
>
> Acked-by: Eduardo Valentin <[email protected]>
>

2016-04-12 08:50:51

by Wei Ni

[permalink] [raw]
Subject: Re: [PATCH v2] thermal: consistently use int for trip temp



On 2016年03月14日 17:44, Wei Ni wrote:
>
>
> On 2016年03月09日 05:09, Eduardo Valentin wrote:
>> On Tue, Mar 08, 2016 at 11:24:39AM +0800, Wei Ni wrote:
>>>
>>>
>>> On 2016年03月07日 16:23, Wei Ni wrote:
>>>> There had a build error in previous patch.
>>>> Fixed it in this version.
>>>> Please review it.
>>>
>>> Add CC: [email protected]
>>>
>
> Hi Rui,
> Will you take this patch?

Rui, could you please take a look this patch?

>
>>>>
>>>> Thanks.
>>>> Wei.
>>>>
>>>> On 2016年03月03日 17:33, Wei Ni wrote:
>>>>> The commit 17e8351a7739 consistently use int for temperature,
>>>>> however it missed a few in trip temperature and thermal_core.
>>>>>
>>>>> In current codes, the trip->temperature used "unsigned long"
>>>>> and zone->temperature used"int", if the temperature is negative
>>>>> value, it will get wrong result when compare temperature with
>>>>> trip temperature.
>>>>>
>>>>> This patch can fix it.
>>>>>
>>>>> Signed-off-by: Wei Ni <[email protected]>
>>
>> Rui are you collecting this one?
>>
>> Acked-by: Eduardo Valentin <[email protected]>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>