Messages in this thread Patch in this message | | | Date | Wed, 20 May 2015 10:34:54 +0200 | From | Sascha Hauer <> | Subject | Re: [PATCH 01/15] thermal: consistently use int for temperatures |
| |
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@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
-----------------------8<------------------
From 4cf8fe3b3ef1bd9db6090305ea2b9995f0dbffa4 Mon Sep 17 00:00:00 2001 From: Sascha Hauer <s.hauer@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 */ -- 2.1.4 -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
| |