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

2015-07-21 Thread Sascha Hauer
Hi Punit,

On Fri, Jul 17, 2015 at 12:14:36PM +0100, Punit Agrawal wrote:
> Hi Sascha,
> 
> Sascha Hauer  writes:
> 
> > 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 
> 
> Thanks for moving over the thermal sub-system in Linux to consistently
> use a single type.
> 
> In your patch, you missed migrating over power_allocator governor and
> it's associated trace events. It got merged for v4.2.
> 
> Could you incorporate something like below in your next version?

It seems I have changed drivers/thermal/power_allocator.c but missed
include/trace/events/thermal_power_allocator.h. Please check out the v2
patch I just sent.

Sascha

-- 
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- |
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-07-17 Thread Punit Agrawal
Hi Sascha,

Sascha Hauer  writes:

> 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 

Thanks for moving over the thermal sub-system in Linux to consistently
use a single type.

In your patch, you missed migrating over power_allocator governor and
it's associated trace events. It got merged for v4.2.

Could you incorporate something like below in your next version?

Thanks,
Punit

[...]

--->8---
Subject: [PATCH] Use int for temperature in power_allocator governor

---
 drivers/thermal/power_allocator.c  | 10 --
 include/trace/events/thermal_power_allocator.h |  6 +++---
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/thermal/power_allocator.c 
b/drivers/thermal/power_allocator.c
index 4672250..1bb7d7f 100644
--- a/drivers/thermal/power_allocator.c
+++ b/drivers/thermal/power_allocator.c
@@ -92,8 +92,7 @@ struct power_allocator_params {
  * Return: The power budget for the next period.
  */
 static u32 pid_controller(struct thermal_zone_device *tz,
- unsigned long current_temp,
- unsigned long control_temp,
+ int current_temp, int control_temp,
  u32 max_allocatable_power)
 {
s64 p, i, d, power_range;
@@ -223,8 +222,7 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, 
int num_actors,
 }
 
 static int allocate_power(struct thermal_zone_device *tz,
- unsigned long current_temp,
- unsigned long control_temp)
+ int current_temp, int control_temp)
 {
struct thermal_instance *instance;
struct power_allocator_params *params = tz->governor_data;
@@ -411,7 +409,7 @@ static int power_allocator_bind(struct thermal_zone_device 
*tz)
 {
int ret;
struct power_allocator_params *params;
-   unsigned long switch_on_temp, control_temp;
+   int switch_on_temp, control_temp;
u32 temperature_threshold;
 
if (!tz->tzp || !tz->tzp->sustainable_power) {
@@ -476,7 +474,7 @@ static void power_allocator_unbind(struct 
thermal_zone_device *tz)
 static int power_allocator_throttle(struct thermal_zone_device *tz, int trip)
 {
int ret;
-   unsigned long switch_on_temp, control_temp, current_temp;
+   int switch_on_temp, control_temp, current_temp;
struct power_allocator_params *params = tz->governor_data;
 
/*
diff --git a/include/trace/events/thermal_power_allocator.h 
b/include/trace/events/thermal_power_allocator.h
index 12e1321..5afae8f 100644
--- a/include/trace/events/thermal_power_allocator.h
+++ b/include/trace/events/thermal_power_allocator.h
@@ -11,7 +11,7 @@ TRACE_EVENT(thermal_power_allocator,
 u32 total_req_power, u32 *granted_power,
 u32 total_granted_power, size_t num_actors,
 u32 power_range, u32 max_allocatable_power,
-unsigned long current_temp, s32 delta_temp),
+int current_temp, s32 delta_temp),
TP_ARGS(tz, req_power, total_req_power, granted_power,
total_granted_power, num_actors, power_range,
max_allocatable_power, current_temp, delta_temp),
@@ -24,7 +24,7 @@ TRACE_EVENT(thermal_power_allocator,
__field(size_t,num_actors   )
__field(u32,   power_range  )
__field(u32,   max_allocatable_power)
-   __field(unsigned long, current_temp )
+   __field(int,   current_temp )
__field(s32,   delta_temp   )
),
TP_fast_assign(
@@ -42,7 +42,7 @@ TRACE_EVENT(thermal_power_allocator,
__entry->delta_temp = delta_temp;
),
 
-   TP_printk("thermal_zone_id=%d req_power={%s} total_req_power=%u 
granted_power={%s} total_granted_power=%u power_range=%u 
max_allocatable_power=%u current_temperature=%lu delta_temperature=%d",
+   TP_printk("thermal_zone_id=%d req_power={%s} total_req_power=%u 
granted_power={%s} total_granted_power=%u power_range=%u 
max_allocatable_power=%u current_t

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

2015-07-08 Thread Peter Feuerer

Sascha Hauer writes:


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 
Cc: Zhang Rui 
Cc: Eduardo Valentin 
Cc: linux...@vger.kernel.org
Cc: linux-ker...@vger.kernel.org
Cc: Jean Delvare 
Cc: Peter Feuerer 
Cc: Heiko Stuebner 
Cc: Lukasz Majewski 
Cc: Stephen Warren 
Cc: Thierry Reding 
Cc: linux-a...@vger.kernel.org
Cc: platform-driver-...@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-o...@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: Guenter Roeck 
Cc: Rafael J. Wysocki 
Cc: Maxime Ripard 
Cc: Darren Hart 
Cc: lm-sens...@lm-sensors.org
---


[...]

For:


 drivers/platform/x86/acerhdf.c |  9 
 drivers/thermal/gov_bang_bang.c|  5 ++--


Reviewed-by: Peter Feuerer 

[...]


--
--peter;
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-07-06 Thread Heiko Stübner
Am Montag, 6. Juli 2015, 09:19:49 schrieb Sascha Hauer:
> 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 
> Cc: Zhang Rui 
> Cc: Eduardo Valentin 
> Cc: linux...@vger.kernel.org
> Cc: linux-ker...@vger.kernel.org
> Cc: Jean Delvare 
> Cc: Peter Feuerer 
> Cc: Heiko Stuebner 
> Cc: Lukasz Majewski 
> Cc: Stephen Warren 
> Cc: Thierry Reding 
> Cc: linux-a...@vger.kernel.org
> Cc: platform-driver-...@vger.kernel.org
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-o...@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: Guenter Roeck 
> Cc: Rafael J. Wysocki 
> Cc: Maxime Ripard 
> Cc: Darren Hart 
> Cc: lm-sens...@lm-sensors.org
> ---

For

>  drivers/thermal/rockchip_thermal.c | 10 

Reviewed-by: Heiko Stuebner 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-07-06 Thread Darren Hart
On Mon, Jul 06, 2015 at 09:19:49AM +0200, 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. 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 

...

>  drivers/platform/x86/acerhdf.c |  9 
>  drivers/platform/x86/intel_mid_thermal.c   |  9 

For these two:

Reviewed-by: Darren Hart 

-- 
Darren Hart
Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-07-06 Thread Lukasz Majewski
Hi Sascha,

> 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 

Sascha, thanks for this cleanup work. 

Reviewed-by: Lukasz Majewski 

-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-07-06 Thread Jean Delvare
On Mon,  6 Jul 2015 09:19:49 +0200, 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. 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 
> Cc: Zhang Rui 
> Cc: Eduardo Valentin 
> Cc: linux...@vger.kernel.org
> Cc: linux-ker...@vger.kernel.org
> Cc: Jean Delvare 
> Cc: Peter Feuerer 
> Cc: Heiko Stuebner 
> Cc: Lukasz Majewski 
> Cc: Stephen Warren 
> Cc: Thierry Reding 
> Cc: linux-a...@vger.kernel.org
> Cc: platform-driver-...@vger.kernel.org
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-o...@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: Guenter Roeck 
> Cc: Rafael J. Wysocki 
> Cc: Maxime Ripard 
> Cc: Darren Hart 
> Cc: lm-sens...@lm-sensors.org
> ---
>  drivers/acpi/thermal.c | 12 +-
>  drivers/hwmon/lm75.c   |  2 +-
>  drivers/hwmon/ntc_thermistor.c |  2 +-
>  drivers/hwmon/tmp102.c |  2 +-
>  drivers/input/touchscreen/sun4i-ts.c   |  8 +++
>  drivers/platform/x86/acerhdf.c |  9 
>  drivers/platform/x86/intel_mid_thermal.c   |  9 
>  drivers/power/power_supply_core.c  |  2 +-
>  drivers/thermal/armada_thermal.c   |  2 +-
>  drivers/thermal/db8500_thermal.c   |  7 +++---
>  drivers/thermal/dove_thermal.c |  2 +-
>  drivers/thermal/fair_share.c   |  2 +-
>  drivers/thermal/gov_bang_bang.c|  5 ++--
>  drivers/thermal/hisi_thermal.c |  4 ++--
>  drivers/thermal/imx_thermal.c  | 27 
> +++---
>  drivers/thermal/int340x_thermal/int3400_thermal.c  |  2 +-
>  .../thermal/int340x_thermal/int340x_thermal_zone.c | 10 
>  .../thermal/int340x_thermal/int340x_thermal_zone.h |  8 +++
>  .../int340x_thermal/processor_thermal_device.c |  4 ++--
>  drivers/thermal/intel_quark_dts_thermal.c  | 13 +--
>  drivers/thermal/intel_soc_dts_iosf.c   |  8 +++
>  drivers/thermal/kirkwood_thermal.c |  2 +-
>  drivers/thermal/of-thermal.c   | 14 +--
>  drivers/thermal/power_allocator.c  | 16 ++---
>  drivers/thermal/qcom-spmi-temp-alarm.c |  2 +-
>  drivers/thermal/rcar_thermal.c |  7 +++---
>  drivers/thermal/rockchip_thermal.c | 10 
>  drivers/thermal/samsung/exynos_tmu.c   | 23 +-
>  drivers/thermal/spear_thermal.c|  2 +-
>  drivers/thermal/st/st_thermal.c|  5 ++--
>  drivers/thermal/step_wise.c|  4 ++--
>  drivers/thermal/tegra_soctherm.c   |  4 ++--
>  drivers/thermal/thermal_core.c | 26 ++---
>  drivers/thermal/thermal_hwmon.c| 10 
>  drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 10 
>  drivers/thermal/x86_pkg_temp_thermal.c | 10 
>  include/linux/thermal.h| 26 +
>  37 files changed, 148 insertions(+), 163 deletions(-)
> (...)

No objection from me.

For the hwmon parts:

Reviewed-by: Jean Delvare 

-- 
Jean Delvare
SUSE L3 Support
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-07-06 Thread Geert Uytterhoeven
On Mon, Jul 6, 2015 at 9:19 AM, 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. 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 
> Cc: Zhang Rui 
> Cc: Eduardo Valentin 
> Cc: linux...@vger.kernel.org
> Cc: linux-ker...@vger.kernel.org
> Cc: Jean Delvare 
> Cc: Peter Feuerer 
> Cc: Heiko Stuebner 
> Cc: Lukasz Majewski 
> Cc: Stephen Warren 
> Cc: Thierry Reding 
> Cc: linux-a...@vger.kernel.org
> Cc: platform-driver-...@vger.kernel.org
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-o...@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: Guenter Roeck 
> Cc: Rafael J. Wysocki 
> Cc: Maxime Ripard 
> Cc: Darren Hart 
> Cc: lm-sens...@lm-sensors.org

For rcar-thermal:
Acked-by: Geert Uytterhoeven 

> 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 -- ge...@linux-m68k.org

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-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] thermal: consistently use int for temperatures

2015-07-06 Thread Sascha Hauer
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 
Cc: Zhang Rui 
Cc: Eduardo Valentin 
Cc: linux...@vger.kernel.org
Cc: linux-ker...@vger.kernel.org
Cc: Jean Delvare 
Cc: Peter Feuerer 
Cc: Heiko Stuebner 
Cc: Lukasz Majewski 
Cc: Stephen Warren 
Cc: Thierry Reding 
Cc: linux-a...@vger.kernel.org
Cc: platform-driver-...@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-o...@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: Guenter Roeck 
Cc: Rafael J. Wysocki 
Cc: Maxime Ripard 
Cc: Darren Hart 
Cc: lm-sens...@lm-sensors.org
---
 drivers/acpi/thermal.c | 12 +-
 drivers/hwmon/lm75.c   |  2 +-
 drivers/hwmon/ntc_thermistor.c |  2 +-
 drivers/hwmon/tmp102.c |  2 +-
 drivers/input/touchscreen/sun4i-ts.c   |  8 +++
 drivers/platform/x86/acerhdf.c |  9 
 drivers/platform/x86/intel_mid_thermal.c   |  9 
 drivers/power/power_supply_core.c  |  2 +-
 drivers/thermal/armada_thermal.c   |  2 +-
 drivers/thermal/db8500_thermal.c   |  7 +++---
 drivers/thermal/dove_thermal.c |  2 +-
 drivers/thermal/fair_share.c   |  2 +-
 drivers/thermal/gov_bang_bang.c|  5 ++--
 drivers/thermal/hisi_thermal.c |  4 ++--
 drivers/thermal/imx_thermal.c  | 27 +++---
 drivers/thermal/int340x_thermal/int3400_thermal.c  |  2 +-
 .../thermal/int340x_thermal/int340x_thermal_zone.c | 10 
 .../thermal/int340x_thermal/int340x_thermal_zone.h |  8 +++
 .../int340x_thermal/processor_thermal_device.c |  4 ++--
 drivers/thermal/intel_quark_dts_thermal.c  | 13 +--
 drivers/thermal/intel_soc_dts_iosf.c   |  8 +++
 drivers/thermal/kirkwood_thermal.c |  2 +-
 drivers/thermal/of-thermal.c   | 14 +--
 drivers/thermal/power_allocator.c  | 16 ++---
 drivers/thermal/qcom-spmi-temp-alarm.c |  2 +-
 drivers/thermal/rcar_thermal.c |  7 +++---
 drivers/thermal/rockchip_thermal.c | 10 
 drivers/thermal/samsung/exynos_tmu.c   | 23 +-
 drivers/thermal/spear_thermal.c|  2 +-
 drivers/thermal/st/st_thermal.c|  5 ++--
 drivers/thermal/step_wise.c|  4 ++--
 drivers/thermal/tegra_soctherm.c   |  4 ++--
 drivers/thermal/thermal_core.c | 26 ++---
 drivers/thermal/thermal_hwmon.c| 10 
 drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 10 
 drivers/thermal/x86_pkg_temp_thermal.c | 10 
 include/linux/thermal.h| 26 +
 37 files changed, 148 insertions(+), 163 deletions(-)

diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index 6d4e44e..e66ad25 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -529,8 +529,7 @@ static void acpi_thermal_check(void *data)
 
 /* sys I/F for generic thermal sysfs support */
 
-static int thermal_get_temp(struct thermal_zone_device *thermal,
-   unsigned long *temp)
+static int thermal_get_temp(struct thermal_zone_device *thermal, int *temp)
 {
struct acpi_thermal *tz = thermal->devdata;
int result;
@@ -637,7 +636,7 @@ static int thermal_get_trip_type(struct thermal_zone_device 
*thermal,
 }
 
 static int thermal_get_trip_temp(struct thermal_zone_device *thermal,
-int trip, unsigned long *temp)
+int trip, int *temp)
 {
struct acpi_thermal *tz = thermal->devdata;
int i;
@@ -690,7 +689,8 @@ static int thermal_get_trip_temp(struct thermal_zone_device 
*thermal,
 }
 
 static int thermal_get_crit_temp(struct thermal_zone_device *thermal,
-   unsigned long *temperature) {
+   int *temperature)
+{
struct acpi_thermal *tz = thermal->devdata;
 
if (tz