Re: [PATCH] thermal: consistently use int for temperatures

From: Geert Uytterhoeven
Date: Mon Jul 06 2015 - 04:34:58 EST


On Mon, Jul 6, 2015 at 9:19 AM, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> 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. Also several drivers currently will report
> temperatures near UINT_MAX for temperatures below 0ÂC. This will probably
> immediately shut the machine down due to overtemperature if started below
> 0ÂC.
>
> 'long' is 64bit on several architectures. This is not needed since INT_MAX ÂmC
> is above the melting point of all known materials.
>
> Consistently use a plain 'int' for temperatures throughout the thermal code and
> the drivers. This only changes the places in the drivers where the temperature
> is passed around as pointer, when drivers internally use another type this is
> not changed.
>
> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
> Cc: Eduardo Valentin <edubezval@xxxxxxxxx>
> Cc: linux-pm@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: Jean Delvare <jdelvare@xxxxxxx>
> Cc: Peter Feuerer <peter@xxxxxxxx>
> Cc: Heiko Stuebner <heiko@xxxxxxxxx>
> Cc: Lukasz Majewski <l.majewski@xxxxxxxxxxx>
> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
> Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
> Cc: linux-acpi@xxxxxxxxxxxxxxx
> Cc: platform-driver-x86@xxxxxxxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-omap@xxxxxxxxxxxxxxx
> Cc: linux-samsung-soc@xxxxxxxxxxxxxxx
> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx>
> Cc: lm-sensors@xxxxxxxxxxxxxx

For rcar-thermal:
Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

> diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
> index fe4e767..5d4ae7d 100644
> --- a/drivers/thermal/rcar_thermal.c
> +++ b/drivers/thermal/rcar_thermal.c
> @@ -200,8 +200,7 @@ err_out_unlock:
> return ret;
> }
>
> -static int rcar_thermal_get_temp(struct thermal_zone_device *zone,
> - unsigned long *temp)
> +static int rcar_thermal_get_temp(struct thermal_zone_device *zone, int *temp)
> {
> struct rcar_thermal_priv *priv = rcar_zone_to_priv(zone);
>
> @@ -235,7 +234,7 @@ static int rcar_thermal_get_trip_type(struct thermal_zone_device *zone,
> }
>
> static int rcar_thermal_get_trip_temp(struct thermal_zone_device *zone,
> - int trip, unsigned long *temp)
> + int trip, int *temp)
> {
> struct rcar_thermal_priv *priv = rcar_zone_to_priv(zone);
> struct device *dev = rcar_priv_to_dev(priv);
> @@ -299,7 +298,7 @@ static void _rcar_thermal_irq_ctrl(struct rcar_thermal_priv *priv, int enable)
> static void rcar_thermal_work(struct work_struct *work)
> {
> struct rcar_thermal_priv *priv;
> - unsigned long cctemp, nctemp;
> + int cctemp, nctemp;
>
> priv = container_of(work, struct rcar_thermal_priv, work.work);
>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/