From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752985AbbETImr (ORCPT ); Wed, 20 May 2015 04:42:47 -0400 Received: from mail.kapsi.fi ([217.30.184.167]:32948 "EHLO mail.kapsi.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752344AbbETImp (ORCPT ); Wed, 20 May 2015 04:42:45 -0400 Message-ID: <555C48F7.4050009@kapsi.fi> Date: Wed, 20 May 2015 11:42:31 +0300 From: Mikko Perttunen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Sascha Hauer CC: linux-pm@vger.kernel.org, Zhang Rui , Eduardo Valentin , linux-kernel@vger.kernel.org, Stephen Warren , kernel@pengutronix.de, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Brian Norris Subject: Re: [PATCH 01/15] thermal: consistently use int for temperatures References: <1431507163-19933-1-git-send-email-s.hauer@pengutronix.de> <1431507163-19933-2-git-send-email-s.hauer@pengutronix.de> <555C33EC.7050906@kapsi.fi> <20150520083454.GM6325@pengutronix.de> In-Reply-To: <20150520083454.GM6325@pengutronix.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 2001:708:30:12d0:beee:7bff:fe5b:f272 X-SA-Exim-Mail-From: mikko.perttunen@kapsi.fi X-SA-Exim-Scanned: No (on mail.kapsi.fi); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 >>> --- >>> ... >> >> 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 Cheers, Mikko. > > -----------------------8<------------------ > >>>From 4cf8fe3b3ef1bd9db6090305ea2b9995f0dbffa4 Mon Sep 17 00:00:00 2001 > From: Sascha Hauer > 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 */ > >