On Mon, Jul 6, 2015 at 9:19 AM, Sascha Hauer <[email protected]> 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 <[email protected]> > Cc: Zhang Rui <[email protected]> > Cc: Eduardo Valentin <[email protected]> > Cc: [email protected] > Cc: [email protected] > Cc: Jean Delvare <[email protected]> > Cc: Peter Feuerer <[email protected]> > Cc: Heiko Stuebner <[email protected]> > Cc: Lukasz Majewski <[email protected]> > Cc: Stephen Warren <[email protected]> > Cc: Thierry Reding <[email protected]> > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: Guenter Roeck <[email protected]> > Cc: Rafael J. Wysocki <[email protected]> > Cc: Maxime Ripard <[email protected]> > Cc: Darren Hart <[email protected]> > Cc: [email protected]
For rcar-thermal: Acked-by: Geert Uytterhoeven <[email protected]> > 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 -- [email protected] 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

