[PATCH 01/15] thermal: consistently use int for temperatures

Mikko Perttunen mikko.perttunen at kapsi.fi
Wed May 20 01:42:31 PDT 2015


On 05/20/15 11:34, Sascha Hauer wrote:
> On Wed, May 20, 2015 at 10:12:44AM +0300, Mikko Perttunen wrote:
>> On 05/13/15 11:52, Sascha Hauer wrote:
>>> The thermal code uses int, long and unsigned long for temperatures
>>> in different places. Using an unsigned type limits the thermal framework
>>> to positive temperatures without need. 'long' is 64bit on several
>>> architectures which is not needed. Consistently use a plain 'int'
>>> for temperatures.
>>>
>>> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
>>> ---
>>> ...
>>
>> It looks like some longs remain in db8500_thermal.c, int340x_thermal/*,
>> intel_soc_dts_thermal.c, kirkwood_thermal.c, rockchip_thermal.c and
>> samsung/exynos_tmu.c. (found by 'grep -R long drivers/thermal/*)
>
> I looked over it again and found the following. Sorry, I really thought
> I had compile tested all drivers. I found nothing in db8500_thermal.c,
> intel_soc_dts_thermal.c and rockchip_thermal.c though. There are some
> (unsigned)longs used as temperatures in these files, but I haven't
> changed them on purpose to not make the patch bigger as necessary. I
> only changed the places where (unsigned)longs are used as pointers.
> Do you think it's necessary to change all temperatures, even the ones
> only used internally in drivers?
>
> Sascha

I guess changing just the framework interface would be fine for now,
though I don't think there are that many internal uses remaining either.

Reviewed-by: Mikko Perttunen <mperttunen at nvidia.com>

Cheers,
Mikko.

>
> -----------------------8<------------------
>
>>From 4cf8fe3b3ef1bd9db6090305ea2b9995f0dbffa4 Mon Sep 17 00:00:00 2001
> From: Sascha Hauer <s.hauer at pengutronix.de>
> Date: Wed, 20 May 2015 10:28:39 +0200
> Subject: [PATCH] fixup! thermal: consistently use int for temperatures
>
> ---
>   drivers/thermal/int340x_thermal/int3400_thermal.c          | 4 ++--
>   drivers/thermal/int340x_thermal/processor_thermal_device.c | 4 ++--
>   drivers/thermal/kirkwood_thermal.c                         | 2 +-
>   drivers/thermal/samsung/exynos_tmu.c                       | 2 +-
>   4 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/thermal/int340x_thermal/int3400_thermal.c b/drivers/thermal/int340x_thermal/int3400_thermal.c
> index 96bdf8a..5836e55 100644
> --- a/drivers/thermal/int340x_thermal/int3400_thermal.c
> +++ b/drivers/thermal/int340x_thermal/int3400_thermal.c
> @@ -186,7 +186,7 @@ static int int3400_thermal_run_osc(acpi_handle handle,
>   }
>
>   static int int3400_thermal_get_temp(struct thermal_zone_device *thermal,
> -			unsigned long *temp)
> +			int *temp)
>   {
>   	*temp = 20 * 1000; /* faked temp sensor with 20C */
>   	return 0;
> @@ -231,7 +231,7 @@ static int int3400_thermal_set_mode(struct thermal_zone_device *thermal,
>   	return result;
>   }
>
> -static const struct thermal_zone_device_ops int3400_thermal_ops = {
> +static struct thermal_zone_device_ops int3400_thermal_ops = {
>   	.get_temp = int3400_thermal_get_temp,
>   };
>
> diff --git a/drivers/thermal/int340x_thermal/processor_thermal_device.c b/drivers/thermal/int340x_thermal/processor_thermal_device.c
> index 5e8d8e9..c8afd34 100644
> --- a/drivers/thermal/int340x_thermal/processor_thermal_device.c
> +++ b/drivers/thermal/int340x_thermal/processor_thermal_device.c
> @@ -139,7 +139,7 @@ static int get_tjmax(void)
>   	return -EINVAL;
>   }
>
> -static int read_temp_msr(unsigned long *temp)
> +static int read_temp_msr(int *temp)
>   {
>   	int cpu;
>   	u32 eax, edx;
> @@ -171,7 +171,7 @@ err_ret:
>   }
>
>   static int proc_thermal_get_zone_temp(struct thermal_zone_device *zone,
> -					 unsigned long *temp)
> +					 int *temp)
>   {
>   	int ret;
>
> diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
> index abba3e2..5bcdbd6 100644
> --- a/drivers/thermal/kirkwood_thermal.c
> +++ b/drivers/thermal/kirkwood_thermal.c
> @@ -33,7 +33,7 @@ struct kirkwood_thermal_priv {
>   };
>
>   static int kirkwood_get_temp(struct thermal_zone_device *thermal,
> -			  unsigned long *temp)
> +			  int *temp)
>   {
>   	unsigned long reg;
>   	struct kirkwood_thermal_priv *priv = thermal->devdata;
> diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
> index 29eaf4d..ed55fd9 100644
> --- a/drivers/thermal/samsung/exynos_tmu.c
> +++ b/drivers/thermal/samsung/exynos_tmu.c
> @@ -812,7 +812,7 @@ out:
>   #else
>   #define exynos4412_tmu_set_emulation NULL
>   #define exynos5440_tmu_set_emulation NULL
> -static int exynos_tmu_set_emulation(void *drv_data,	unsigned long temp)
> +static int exynos_tmu_set_emulation(void *drv_data, int temp)
>   	{ return -EINVAL; }
>   #endif /* CONFIG_THERMAL_EMULATION */
>
>




More information about the linux-arm-kernel mailing list