summaryrefslogtreecommitdiff
path: root/target/linux/mediatek/patches/0010-thermal-consistently-use-int-for-temperatures.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mediatek/patches/0010-thermal-consistently-use-int-for-temperatures.patch')
-rw-r--r--target/linux/mediatek/patches/0010-thermal-consistently-use-int-for-temperatures.patch1155
1 files changed, 1155 insertions, 0 deletions
diff --git a/target/linux/mediatek/patches/0010-thermal-consistently-use-int-for-temperatures.patch b/target/linux/mediatek/patches/0010-thermal-consistently-use-int-for-temperatures.patch
new file mode 100644
index 0000000..2aa83ab
--- /dev/null
+++ b/target/linux/mediatek/patches/0010-thermal-consistently-use-int-for-temperatures.patch
@@ -0,0 +1,1155 @@
+From 29e6031548373b9e7ec0c17e85da6a4cf4fee7f5 Mon Sep 17 00:00:00 2001
+From: Sascha Hauer <s.hauer@pengutronix.de>
+Date: Wed, 13 May 2015 10:52:29 +0200
+Subject: [PATCH 10/76] thermal: consistently use int for temperatures
+
+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>
+---
+ 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/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/imx_thermal.c | 27 ++++++++++----------
+ .../thermal/int340x_thermal/int340x_thermal_zone.c | 10 ++++----
+ .../thermal/int340x_thermal/int340x_thermal_zone.h | 8 +++---
+ drivers/thermal/intel_soc_dts_thermal.c | 7 +++--
+ drivers/thermal/of-thermal.c | 14 +++++-----
+ drivers/thermal/rcar_thermal.c | 7 +++--
+ drivers/thermal/rockchip_thermal.c | 10 ++++----
+ drivers/thermal/samsung/exynos_tmu.c | 19 +++++++-------
+ 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 ++++++++-----------
+ 29 files changed, 120 insertions(+), 134 deletions(-)
+
+diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
+index d24fa19..68bff60 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->trips.critical.flags.valid) {
+@@ -713,8 +713,8 @@ static int thermal_get_trend(struct thermal_zone_device *thermal,
+ return -EINVAL;
+
+ if (type == THERMAL_TRIP_ACTIVE) {
+- unsigned long trip_temp;
+- unsigned long temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
++ int trip_temp;
++ int temp = DECI_KELVIN_TO_MILLICELSIUS_WITH_OFFSET(
+ tz->temperature, tz->kelvin_offset);
+ if (thermal_get_trip_temp(thermal, trip, &trip_temp))
+ return -EINVAL;
+diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
+index fe41d5a..e4e57bb 100644
+--- a/drivers/hwmon/lm75.c
++++ b/drivers/hwmon/lm75.c
+@@ -104,7 +104,7 @@ static inline long lm75_reg_to_mc(s16 temp, u8 resolution)
+
+ /* sysfs attributes for hwmon */
+
+-static int lm75_read_temp(void *dev, long *temp)
++static int lm75_read_temp(void *dev, int *temp)
+ {
+ struct lm75_data *data = lm75_update_device(dev);
+
+diff --git a/drivers/hwmon/ntc_thermistor.c b/drivers/hwmon/ntc_thermistor.c
+index 6880011..3d9eab9 100644
+--- a/drivers/hwmon/ntc_thermistor.c
++++ b/drivers/hwmon/ntc_thermistor.c
+@@ -439,7 +439,7 @@ static int ntc_thermistor_get_ohm(struct ntc_data *data)
+ return -EINVAL;
+ }
+
+-static int ntc_read_temp(void *dev, long *temp)
++static int ntc_read_temp(void *dev, int *temp)
+ {
+ struct ntc_data *data = dev_get_drvdata(dev);
+ int ohm;
+diff --git a/drivers/hwmon/tmp102.c b/drivers/hwmon/tmp102.c
+index 9da2735..6548262 100644
+--- a/drivers/hwmon/tmp102.c
++++ b/drivers/hwmon/tmp102.c
+@@ -98,7 +98,7 @@ static struct tmp102 *tmp102_update_device(struct device *dev)
+ return tmp102;
+ }
+
+-static int tmp102_read_temp(void *dev, long *temp)
++static int tmp102_read_temp(void *dev, int *temp)
+ {
+ struct tmp102 *tmp102 = tmp102_update_device(dev);
+
+diff --git a/drivers/input/touchscreen/sun4i-ts.c b/drivers/input/touchscreen/sun4i-ts.c
+index c011699..4857943 100644
+--- a/drivers/input/touchscreen/sun4i-ts.c
++++ b/drivers/input/touchscreen/sun4i-ts.c
+@@ -191,7 +191,7 @@ static void sun4i_ts_close(struct input_dev *dev)
+ writel(TEMP_IRQ_EN(1), ts->base + TP_INT_FIFOC);
+ }
+
+-static int sun4i_get_temp(const struct sun4i_ts_data *ts, long *temp)
++static int sun4i_get_temp(const struct sun4i_ts_data *ts, int *temp)
+ {
+ /* No temp_data until the first irq */
+ if (ts->temp_data == -1)
+@@ -202,7 +202,7 @@ static int sun4i_get_temp(const struct sun4i_ts_data *ts, long *temp)
+ return 0;
+ }
+
+-static int sun4i_get_tz_temp(void *data, long *temp)
++static int sun4i_get_tz_temp(void *data, int *temp)
+ {
+ return sun4i_get_temp(data, temp);
+ }
+@@ -215,14 +215,14 @@ static ssize_t show_temp(struct device *dev, struct device_attribute *devattr,
+ char *buf)
+ {
+ struct sun4i_ts_data *ts = dev_get_drvdata(dev);
+- long temp;
++ int temp;
+ int error;
+
+ error = sun4i_get_temp(ts, &temp);
+ if (error)
+ return error;
+
+- return sprintf(buf, "%ld\n", temp);
++ return sprintf(buf, "%d\n", temp);
+ }
+
+ static ssize_t show_temp_label(struct device *dev,
+diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c
+index 594c918..f2ce63c 100644
+--- a/drivers/platform/x86/acerhdf.c
++++ b/drivers/platform/x86/acerhdf.c
+@@ -346,8 +346,7 @@ static void acerhdf_check_param(struct thermal_zone_device *thermal)
+ * as late as the polling interval is since we can't do that in the respective
+ * accessors of the module parameters.
+ */
+-static int acerhdf_get_ec_temp(struct thermal_zone_device *thermal,
+- unsigned long *t)
++static int acerhdf_get_ec_temp(struct thermal_zone_device *thermal, int *t)
+ {
+ int temp, err = 0;
+
+@@ -452,7 +451,7 @@ static int acerhdf_get_trip_type(struct thermal_zone_device *thermal, int trip,
+ }
+
+ static int acerhdf_get_trip_hyst(struct thermal_zone_device *thermal, int trip,
+- unsigned long *temp)
++ int *temp)
+ {
+ if (trip != 0)
+ return -EINVAL;
+@@ -463,7 +462,7 @@ static int acerhdf_get_trip_hyst(struct thermal_zone_device *thermal, int trip,
+ }
+
+ static int acerhdf_get_trip_temp(struct thermal_zone_device *thermal, int trip,
+- unsigned long *temp)
++ int *temp)
+ {
+ if (trip == 0)
+ *temp = fanon;
+@@ -476,7 +475,7 @@ static int acerhdf_get_trip_temp(struct thermal_zone_device *thermal, int trip,
+ }
+
+ static int acerhdf_get_crit_temp(struct thermal_zone_device *thermal,
+- unsigned long *temperature)
++ int *temperature)
+ {
+ *temperature = ACERHDF_TEMP_CRIT;
+ return 0;
+diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
+index 2ed4a4a..87e2fd1 100644
+--- a/drivers/power/power_supply_core.c
++++ b/drivers/power/power_supply_core.c
+@@ -492,7 +492,7 @@ EXPORT_SYMBOL_GPL(power_supply_unreg_notifier);
+
+ #ifdef CONFIG_THERMAL
+ static int power_supply_read_temp(struct thermal_zone_device *tzd,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct power_supply *psy;
+ union power_supply_propval val;
+diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c
+index 01255fd..26b8d32 100644
+--- a/drivers/thermal/armada_thermal.c
++++ b/drivers/thermal/armada_thermal.c
+@@ -155,7 +155,7 @@ static bool armada_is_valid(struct armada_thermal_priv *priv)
+ }
+
+ static int armada_get_temp(struct thermal_zone_device *thermal,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct armada_thermal_priv *priv = thermal->devdata;
+ unsigned long reg;
+diff --git a/drivers/thermal/db8500_thermal.c b/drivers/thermal/db8500_thermal.c
+index 20adfbe..b3eca71 100644
+--- a/drivers/thermal/db8500_thermal.c
++++ b/drivers/thermal/db8500_thermal.c
+@@ -107,8 +107,7 @@ static int db8500_cdev_unbind(struct thermal_zone_device *thermal,
+ }
+
+ /* Callback to get current temperature */
+-static int db8500_sys_get_temp(struct thermal_zone_device *thermal,
+- unsigned long *temp)
++static int db8500_sys_get_temp(struct thermal_zone_device *thermal, int *temp)
+ {
+ struct db8500_thermal_zone *pzone = thermal->devdata;
+
+@@ -180,7 +179,7 @@ static int db8500_sys_get_trip_type(struct thermal_zone_device *thermal,
+
+ /* Callback to get trip point temperature */
+ static int db8500_sys_get_trip_temp(struct thermal_zone_device *thermal,
+- int trip, unsigned long *temp)
++ int trip, int *temp)
+ {
+ struct db8500_thermal_zone *pzone = thermal->devdata;
+ struct db8500_thsens_platform_data *ptrips = pzone->trip_tab;
+@@ -195,7 +194,7 @@ static int db8500_sys_get_trip_temp(struct thermal_zone_device *thermal,
+
+ /* Callback to get critical trip point temperature */
+ static int db8500_sys_get_crit_temp(struct thermal_zone_device *thermal,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct db8500_thermal_zone *pzone = thermal->devdata;
+ struct db8500_thsens_platform_data *ptrips = pzone->trip_tab;
+diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
+index 09f6e30..a0bc9de 100644
+--- a/drivers/thermal/dove_thermal.c
++++ b/drivers/thermal/dove_thermal.c
+@@ -93,7 +93,7 @@ static int dove_init_sensor(const struct dove_thermal_priv *priv)
+ }
+
+ static int dove_get_temp(struct thermal_zone_device *thermal,
+- unsigned long *temp)
++ int *temp)
+ {
+ unsigned long reg;
+ struct dove_thermal_priv *priv = thermal->devdata;
+diff --git a/drivers/thermal/fair_share.c b/drivers/thermal/fair_share.c
+index 6e0a3fb..efad70e 100644
+--- a/drivers/thermal/fair_share.c
++++ b/drivers/thermal/fair_share.c
+@@ -34,7 +34,7 @@
+ static int get_trip_level(struct thermal_zone_device *tz)
+ {
+ int count = 0;
+- unsigned long trip_temp;
++ int trip_temp;
+ enum thermal_trip_type trip_type;
+
+ if (tz->trips == 0 || !tz->ops->get_trip_temp)
+diff --git a/drivers/thermal/gov_bang_bang.c b/drivers/thermal/gov_bang_bang.c
+index c5dd76b..70836c5 100644
+--- a/drivers/thermal/gov_bang_bang.c
++++ b/drivers/thermal/gov_bang_bang.c
+@@ -25,14 +25,13 @@
+
+ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
+ {
+- long trip_temp;
+- unsigned long trip_hyst;
++ int trip_temp, trip_hyst;
+ struct thermal_instance *instance;
+
+ tz->ops->get_trip_temp(tz, trip, &trip_temp);
+ tz->ops->get_trip_hyst(tz, trip, &trip_hyst);
+
+- dev_dbg(&tz->device, "Trip%d[temp=%ld]:temp=%d:hyst=%ld\n",
++ dev_dbg(&tz->device, "Trip%d[temp=%d]:temp=%d:hyst=%d\n",
+ trip, trip_temp, tz->temperature,
+ trip_hyst);
+
+diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
+index 2ccbc07..f1424f0 100644
+--- a/drivers/thermal/imx_thermal.c
++++ b/drivers/thermal/imx_thermal.c
+@@ -98,10 +98,10 @@ struct imx_thermal_data {
+ enum thermal_device_mode mode;
+ struct regmap *tempmon;
+ u32 c1, c2; /* See formula in imx_get_sensor_data() */
+- unsigned long temp_passive;
+- unsigned long temp_critical;
+- unsigned long alarm_temp;
+- unsigned long last_temp;
++ int temp_passive;
++ int temp_critical;
++ int alarm_temp;
++ int last_temp;
+ bool irq_enabled;
+ int irq;
+ struct clk *thermal_clk;
+@@ -109,7 +109,7 @@ struct imx_thermal_data {
+ };
+
+ static void imx_set_panic_temp(struct imx_thermal_data *data,
+- signed long panic_temp)
++ int panic_temp)
+ {
+ struct regmap *map = data->tempmon;
+ int critical_value;
+@@ -121,7 +121,7 @@ static void imx_set_panic_temp(struct imx_thermal_data *data,
+ }
+
+ static void imx_set_alarm_temp(struct imx_thermal_data *data,
+- signed long alarm_temp)
++ int alarm_temp)
+ {
+ struct regmap *map = data->tempmon;
+ int alarm_value;
+@@ -133,7 +133,7 @@ static void imx_set_alarm_temp(struct imx_thermal_data *data,
+ TEMPSENSE0_ALARM_VALUE_SHIFT);
+ }
+
+-static int imx_get_temp(struct thermal_zone_device *tz, unsigned long *temp)
++static int imx_get_temp(struct thermal_zone_device *tz, int *temp)
+ {
+ struct imx_thermal_data *data = tz->devdata;
+ struct regmap *map = data->tempmon;
+@@ -189,13 +189,13 @@ static int imx_get_temp(struct thermal_zone_device *tz, unsigned long *temp)
+ if (data->alarm_temp == data->temp_critical &&
+ *temp < data->temp_passive) {
+ imx_set_alarm_temp(data, data->temp_passive);
+- dev_dbg(&tz->device, "thermal alarm off: T < %lu\n",
++ dev_dbg(&tz->device, "thermal alarm off: T < %d\n",
+ data->alarm_temp / 1000);
+ }
+ }
+
+ if (*temp != data->last_temp) {
+- dev_dbg(&tz->device, "millicelsius: %ld\n", *temp);
++ dev_dbg(&tz->device, "millicelsius: %d\n", *temp);
+ data->last_temp = *temp;
+ }
+
+@@ -262,8 +262,7 @@ static int imx_get_trip_type(struct thermal_zone_device *tz, int trip,
+ return 0;
+ }
+
+-static int imx_get_crit_temp(struct thermal_zone_device *tz,
+- unsigned long *temp)
++static int imx_get_crit_temp(struct thermal_zone_device *tz, int *temp)
+ {
+ struct imx_thermal_data *data = tz->devdata;
+
+@@ -272,7 +271,7 @@ static int imx_get_crit_temp(struct thermal_zone_device *tz,
+ }
+
+ static int imx_get_trip_temp(struct thermal_zone_device *tz, int trip,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct imx_thermal_data *data = tz->devdata;
+
+@@ -282,7 +281,7 @@ static int imx_get_trip_temp(struct thermal_zone_device *tz, int trip,
+ }
+
+ static int imx_set_trip_temp(struct thermal_zone_device *tz, int trip,
+- unsigned long temp)
++ int temp)
+ {
+ struct imx_thermal_data *data = tz->devdata;
+
+@@ -433,7 +432,7 @@ static irqreturn_t imx_thermal_alarm_irq_thread(int irq, void *dev)
+ {
+ struct imx_thermal_data *data = dev;
+
+- dev_dbg(&data->tz->device, "THERMAL ALARM: T > %lu\n",
++ dev_dbg(&data->tz->device, "THERMAL ALARM: T > %d\n",
+ data->alarm_temp / 1000);
+
+ thermal_zone_device_update(data->tz);
+diff --git a/drivers/thermal/int340x_thermal/int340x_thermal_zone.c b/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
+index 1e25133..b9b2666 100644
+--- a/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
++++ b/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
+@@ -20,7 +20,7 @@
+ #include "int340x_thermal_zone.h"
+
+ static int int340x_thermal_get_zone_temp(struct thermal_zone_device *zone,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct int34x_thermal_zone *d = zone->devdata;
+ unsigned long long tmp;
+@@ -49,7 +49,7 @@ static int int340x_thermal_get_zone_temp(struct thermal_zone_device *zone,
+ }
+
+ static int int340x_thermal_get_trip_temp(struct thermal_zone_device *zone,
+- int trip, unsigned long *temp)
++ int trip, int *temp)
+ {
+ struct int34x_thermal_zone *d = zone->devdata;
+ int i;
+@@ -114,7 +114,7 @@ static int int340x_thermal_get_trip_type(struct thermal_zone_device *zone,
+ }
+
+ static int int340x_thermal_set_trip_temp(struct thermal_zone_device *zone,
+- int trip, unsigned long temp)
++ int trip, int temp)
+ {
+ struct int34x_thermal_zone *d = zone->devdata;
+ acpi_status status;
+@@ -136,7 +136,7 @@ static int int340x_thermal_set_trip_temp(struct thermal_zone_device *zone,
+
+
+ static int int340x_thermal_get_trip_hyst(struct thermal_zone_device *zone,
+- int trip, unsigned long *temp)
++ int trip, int *temp)
+ {
+ struct int34x_thermal_zone *d = zone->devdata;
+ acpi_status status;
+@@ -163,7 +163,7 @@ static struct thermal_zone_device_ops int340x_thermal_zone_ops = {
+ };
+
+ static int int340x_thermal_get_trip_config(acpi_handle handle, char *name,
+- unsigned long *temp)
++ int *temp)
+ {
+ unsigned long long r;
+ acpi_status status;
+diff --git a/drivers/thermal/int340x_thermal/int340x_thermal_zone.h b/drivers/thermal/int340x_thermal/int340x_thermal_zone.h
+index 9f38ab7..aaadf72 100644
+--- a/drivers/thermal/int340x_thermal/int340x_thermal_zone.h
++++ b/drivers/thermal/int340x_thermal/int340x_thermal_zone.h
+@@ -21,7 +21,7 @@
+ #define INT340X_THERMAL_MAX_ACT_TRIP_COUNT 10
+
+ struct active_trip {
+- unsigned long temp;
++ int temp;
+ int id;
+ bool valid;
+ };
+@@ -31,11 +31,11 @@ struct int34x_thermal_zone {
+ struct active_trip act_trips[INT340X_THERMAL_MAX_ACT_TRIP_COUNT];
+ unsigned long *aux_trips;
+ int aux_trip_nr;
+- unsigned long psv_temp;
++ int psv_temp;
+ int psv_trip_id;
+- unsigned long crt_temp;
++ int crt_temp;
+ int crt_trip_id;
+- unsigned long hot_temp;
++ int hot_temp;
+ int hot_trip_id;
+ struct thermal_zone_device *zone;
+ struct thermal_zone_device_ops *override_ops;
+diff --git a/drivers/thermal/intel_soc_dts_thermal.c b/drivers/thermal/intel_soc_dts_thermal.c
+index 9013505..fd550b9 100644
+--- a/drivers/thermal/intel_soc_dts_thermal.c
++++ b/drivers/thermal/intel_soc_dts_thermal.c
+@@ -106,7 +106,7 @@ err_ret:
+ }
+
+ static int sys_get_trip_temp(struct thermal_zone_device *tzd,
+- int trip, unsigned long *temp)
++ int trip, int *temp)
+ {
+ int status;
+ u32 out;
+@@ -224,7 +224,7 @@ err_restore_ptps:
+ }
+
+ static int sys_set_trip_temp(struct thermal_zone_device *tzd, int trip,
+- unsigned long temp)
++ int temp)
+ {
+ struct soc_sensor_entry *aux_entry = tzd->devdata;
+ int status;
+@@ -250,8 +250,7 @@ static int sys_get_trip_type(struct thermal_zone_device *thermal,
+ return 0;
+ }
+
+-static int sys_get_curr_temp(struct thermal_zone_device *tzd,
+- unsigned long *temp)
++static int sys_get_curr_temp(struct thermal_zone_device *tzd, int *temp)
+ {
+ int status;
+ u32 out;
+diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c
+index 668fb1b..03839df 100644
+--- a/drivers/thermal/of-thermal.c
++++ b/drivers/thermal/of-thermal.c
+@@ -87,7 +87,7 @@ struct __thermal_zone {
+ /*** DT thermal zone device callbacks ***/
+
+ static int of_thermal_get_temp(struct thermal_zone_device *tz,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct __thermal_zone *data = tz->devdata;
+
+@@ -173,7 +173,7 @@ EXPORT_SYMBOL_GPL(of_thermal_get_trip_points);
+ * Return: zero on success, error code otherwise
+ */
+ static int of_thermal_set_emul_temp(struct thermal_zone_device *tz,
+- unsigned long temp)
++ int temp)
+ {
+ struct __thermal_zone *data = tz->devdata;
+
+@@ -306,7 +306,7 @@ static int of_thermal_get_trip_type(struct thermal_zone_device *tz, int trip,
+ }
+
+ static int of_thermal_get_trip_temp(struct thermal_zone_device *tz, int trip,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct __thermal_zone *data = tz->devdata;
+
+@@ -319,7 +319,7 @@ static int of_thermal_get_trip_temp(struct thermal_zone_device *tz, int trip,
+ }
+
+ static int of_thermal_set_trip_temp(struct thermal_zone_device *tz, int trip,
+- unsigned long temp)
++ int temp)
+ {
+ struct __thermal_zone *data = tz->devdata;
+
+@@ -333,7 +333,7 @@ static int of_thermal_set_trip_temp(struct thermal_zone_device *tz, int trip,
+ }
+
+ static int of_thermal_get_trip_hyst(struct thermal_zone_device *tz, int trip,
+- unsigned long *hyst)
++ int *hyst)
+ {
+ struct __thermal_zone *data = tz->devdata;
+
+@@ -346,7 +346,7 @@ static int of_thermal_get_trip_hyst(struct thermal_zone_device *tz, int trip,
+ }
+
+ static int of_thermal_set_trip_hyst(struct thermal_zone_device *tz, int trip,
+- unsigned long hyst)
++ int hyst)
+ {
+ struct __thermal_zone *data = tz->devdata;
+
+@@ -360,7 +360,7 @@ static int of_thermal_set_trip_hyst(struct thermal_zone_device *tz, int trip,
+ }
+
+ static int of_thermal_get_crit_temp(struct thermal_zone_device *tz,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct __thermal_zone *data = tz->devdata;
+ int i;
+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);
+
+diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c
+index cd8f5f93..c89ffb2 100644
+--- a/drivers/thermal/rockchip_thermal.c
++++ b/drivers/thermal/rockchip_thermal.c
+@@ -64,7 +64,7 @@ struct rockchip_tsadc_chip {
+ void (*control)(void __iomem *reg, bool on);
+
+ /* Per-sensor methods */
+- int (*get_temp)(int chn, void __iomem *reg, long *temp);
++ int (*get_temp)(int chn, void __iomem *reg, int *temp);
+ void (*set_tshut_temp)(int chn, void __iomem *reg, long temp);
+ void (*set_tshut_mode)(int chn, void __iomem *reg, enum tshut_mode m);
+ };
+@@ -191,7 +191,7 @@ static u32 rk_tsadcv2_temp_to_code(long temp)
+ return 0;
+ }
+
+-static long rk_tsadcv2_code_to_temp(u32 code)
++static int rk_tsadcv2_code_to_temp(u32 code)
+ {
+ unsigned int low = 0;
+ unsigned int high = ARRAY_SIZE(v2_code_table) - 1;
+@@ -277,7 +277,7 @@ static void rk_tsadcv2_control(void __iomem *regs, bool enable)
+ writel_relaxed(val, regs + TSADCV2_AUTO_CON);
+ }
+
+-static int rk_tsadcv2_get_temp(int chn, void __iomem *regs, long *temp)
++static int rk_tsadcv2_get_temp(int chn, void __iomem *regs, int *temp)
+ {
+ u32 val;
+
+@@ -366,7 +366,7 @@ static irqreturn_t rockchip_thermal_alarm_irq_thread(int irq, void *dev)
+ return IRQ_HANDLED;
+ }
+
+-static int rockchip_thermal_get_temp(void *_sensor, long *out_temp)
++static int rockchip_thermal_get_temp(void *_sensor, int *out_temp)
+ {
+ struct rockchip_thermal_sensor *sensor = _sensor;
+ struct rockchip_thermal_data *thermal = sensor->thermal;
+@@ -374,7 +374,7 @@ static int rockchip_thermal_get_temp(void *_sensor, long *out_temp)
+ int retval;
+
+ retval = tsadc->get_temp(sensor->id, thermal->regs, out_temp);
+- dev_dbg(&thermal->pdev->dev, "sensor %d - temp: %ld, retval: %d\n",
++ dev_dbg(&thermal->pdev->dev, "sensor %d - temp: %d, retval: %d\n",
+ sensor->id, *out_temp, retval);
+
+ return retval;
+diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
+index 1d30b09..29eaf4d 100644
+--- a/drivers/thermal/samsung/exynos_tmu.c
++++ b/drivers/thermal/samsung/exynos_tmu.c
+@@ -181,8 +181,7 @@ struct exynos_tmu_data {
+ int (*tmu_initialize)(struct platform_device *pdev);
+ void (*tmu_control)(struct platform_device *pdev, bool on);
+ int (*tmu_read)(struct exynos_tmu_data *data);
+- void (*tmu_set_emulation)(struct exynos_tmu_data *data,
+- unsigned long temp);
++ void (*tmu_set_emulation)(struct exynos_tmu_data *data, int temp);
+ void (*tmu_clear_irqs)(struct exynos_tmu_data *data);
+ };
+
+@@ -190,7 +189,7 @@ static void exynos_report_trigger(struct exynos_tmu_data *p)
+ {
+ char data[10], *envp[] = { data, NULL };
+ struct thermal_zone_device *tz = p->tzd;
+- unsigned long temp;
++ int temp;
+ unsigned int i;
+
+ if (!tz) {
+@@ -489,7 +488,7 @@ static int exynos5440_tmu_initialize(struct platform_device *pdev)
+ struct exynos_tmu_data *data = platform_get_drvdata(pdev);
+ unsigned int trim_info = 0, con, rising_threshold;
+ int ret = 0, threshold_code;
+- unsigned long crit_temp = 0;
++ int crit_temp = 0;
+
+ /*
+ * For exynos5440 soc triminfo value is swapped between TMU0 and
+@@ -542,7 +541,7 @@ static int exynos7_tmu_initialize(struct platform_device *pdev)
+ unsigned int status, trim_info;
+ unsigned int rising_threshold = 0, falling_threshold = 0;
+ int ret = 0, threshold_code, i;
+- unsigned long temp, temp_hist;
++ int temp, temp_hist;
+ unsigned int reg_off, bit_off;
+
+ status = readb(data->base + EXYNOS_TMU_REG_STATUS);
+@@ -713,7 +712,7 @@ static void exynos7_tmu_control(struct platform_device *pdev, bool on)
+ writel(con, data->base + EXYNOS_TMU_REG_CONTROL);
+ }
+
+-static int exynos_get_temp(void *p, long *temp)
++static int exynos_get_temp(void *p, int *temp)
+ {
+ struct exynos_tmu_data *data = p;
+
+@@ -733,7 +732,7 @@ static int exynos_get_temp(void *p, long *temp)
+
+ #ifdef CONFIG_THERMAL_EMULATION
+ static u32 get_emul_con_reg(struct exynos_tmu_data *data, unsigned int val,
+- unsigned long temp)
++ int temp)
+ {
+ if (temp) {
+ temp /= MCELSIUS;
+@@ -763,7 +762,7 @@ static u32 get_emul_con_reg(struct exynos_tmu_data *data, unsigned int val,
+ }
+
+ static void exynos4412_tmu_set_emulation(struct exynos_tmu_data *data,
+- unsigned long temp)
++ int temp)
+ {
+ unsigned int val;
+ u32 emul_con;
+@@ -781,7 +780,7 @@ static void exynos4412_tmu_set_emulation(struct exynos_tmu_data *data,
+ }
+
+ static void exynos5440_tmu_set_emulation(struct exynos_tmu_data *data,
+- unsigned long temp)
++ int temp)
+ {
+ unsigned int val;
+
+@@ -790,7 +789,7 @@ static void exynos5440_tmu_set_emulation(struct exynos_tmu_data *data,
+ writel(val, data->base + EXYNOS5440_TMU_S0_7_DEBUG);
+ }
+
+-static int exynos_tmu_set_emulation(void *drv_data, unsigned long temp)
++static int exynos_tmu_set_emulation(void *drv_data, int temp)
+ {
+ struct exynos_tmu_data *data = drv_data;
+ int ret = -EINVAL;
+diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
+index bddb717..534dd91 100644
+--- a/drivers/thermal/spear_thermal.c
++++ b/drivers/thermal/spear_thermal.c
+@@ -38,7 +38,7 @@ struct spear_thermal_dev {
+ };
+
+ static inline int thermal_get_temp(struct thermal_zone_device *thermal,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct spear_thermal_dev *stdev = thermal->devdata;
+
+diff --git a/drivers/thermal/st/st_thermal.c b/drivers/thermal/st/st_thermal.c
+index 76c515d..44cbba9 100644
+--- a/drivers/thermal/st/st_thermal.c
++++ b/drivers/thermal/st/st_thermal.c
+@@ -111,8 +111,7 @@ static int st_thermal_calibration(struct st_thermal_sensor *sensor)
+ }
+
+ /* Callback to get temperature from HW*/
+-static int st_thermal_get_temp(struct thermal_zone_device *th,
+- unsigned long *temperature)
++static int st_thermal_get_temp(struct thermal_zone_device *th, int *temperature)
+ {
+ struct st_thermal_sensor *sensor = th->devdata;
+ struct device *dev = sensor->dev;
+@@ -159,7 +158,7 @@ static int st_thermal_get_trip_type(struct thermal_zone_device *th,
+ }
+
+ static int st_thermal_get_trip_temp(struct thermal_zone_device *th,
+- int trip, unsigned long *temp)
++ int trip, int *temp)
+ {
+ struct st_thermal_sensor *sensor = th->devdata;
+ struct device *dev = sensor->dev;
+diff --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c
+index 5a0f12d..2f9f708 100644
+--- a/drivers/thermal/step_wise.c
++++ b/drivers/thermal/step_wise.c
+@@ -113,7 +113,7 @@ static void update_passive_instance(struct thermal_zone_device *tz,
+
+ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
+ {
+- long trip_temp;
++ int trip_temp;
+ enum thermal_trip_type trip_type;
+ enum thermal_trend trend;
+ struct thermal_instance *instance;
+@@ -135,7 +135,7 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
+ trace_thermal_zone_trip(tz, trip, trip_type);
+ }
+
+- dev_dbg(&tz->device, "Trip%d[type=%d,temp=%ld]:trend=%d,throttle=%d\n",
++ dev_dbg(&tz->device, "Trip%d[type=%d,temp=%d]:trend=%d,throttle=%d\n",
+ trip, trip_type, trip_temp, trend, throttle);
+
+ mutex_lock(&tz->lock);
+diff --git a/drivers/thermal/tegra_soctherm.c b/drivers/thermal/tegra_soctherm.c
+index 9197fc0..74ea576 100644
+--- a/drivers/thermal/tegra_soctherm.c
++++ b/drivers/thermal/tegra_soctherm.c
+@@ -293,7 +293,7 @@ static int enable_tsensor(struct tegra_soctherm *tegra,
+ * H denotes an addition of 0.5 Celsius and N denotes negation
+ * of the final value.
+ */
+-static long translate_temp(u16 val)
++static int translate_temp(u16 val)
+ {
+ long t;
+
+@@ -306,7 +306,7 @@ static long translate_temp(u16 val)
+ return t;
+ }
+
+-static int tegra_thermctl_get_temp(void *data, long *out_temp)
++static int tegra_thermctl_get_temp(void *data, int *out_temp)
+ {
+ struct tegra_thermctl_zone *zone = data;
+ u32 val;
+diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
+index 4108db7..62cc82a 100644
+--- a/drivers/thermal/thermal_core.c
++++ b/drivers/thermal/thermal_core.c
+@@ -363,7 +363,7 @@ static void handle_non_critical_trips(struct thermal_zone_device *tz,
+ static void handle_critical_trips(struct thermal_zone_device *tz,
+ int trip, enum thermal_trip_type trip_type)
+ {
+- long trip_temp;
++ int trip_temp;
+
+ tz->ops->get_trip_temp(tz, trip, &trip_temp);
+
+@@ -411,12 +411,12 @@ static void handle_thermal_trip(struct thermal_zone_device *tz, int trip)
+ *
+ * Return: On success returns 0, an error code otherwise
+ */
+-int thermal_zone_get_temp(struct thermal_zone_device *tz, unsigned long *temp)
++int thermal_zone_get_temp(struct thermal_zone_device *tz, int *temp)
+ {
+ int ret = -EINVAL;
+ #ifdef CONFIG_THERMAL_EMULATION
+ int count;
+- unsigned long crit_temp = -1UL;
++ int crit_temp = INT_MAX;
+ enum thermal_trip_type type;
+ #endif
+
+@@ -453,8 +453,7 @@ EXPORT_SYMBOL_GPL(thermal_zone_get_temp);
+
+ static void update_temperature(struct thermal_zone_device *tz)
+ {
+- long temp;
+- int ret;
++ int temp, ret;
+
+ ret = thermal_zone_get_temp(tz, &temp);
+ if (ret) {
+@@ -514,15 +513,14 @@ static ssize_t
+ temp_show(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ struct thermal_zone_device *tz = to_thermal_zone(dev);
+- long temperature;
+- int ret;
++ int temperature, ret;
+
+ ret = thermal_zone_get_temp(tz, &temperature);
+
+ if (ret)
+ return ret;
+
+- return sprintf(buf, "%ld\n", temperature);
++ return sprintf(buf, "%d\n", temperature);
+ }
+
+ static ssize_t
+@@ -626,7 +624,7 @@ trip_point_temp_show(struct device *dev, struct device_attribute *attr,
+ {
+ struct thermal_zone_device *tz = to_thermal_zone(dev);
+ int trip, ret;
+- long temperature;
++ int temperature;
+
+ if (!tz->ops->get_trip_temp)
+ return -EPERM;
+@@ -639,7 +637,7 @@ trip_point_temp_show(struct device *dev, struct device_attribute *attr,
+ if (ret)
+ return ret;
+
+- return sprintf(buf, "%ld\n", temperature);
++ return sprintf(buf, "%d\n", temperature);
+ }
+
+ static ssize_t
+@@ -648,7 +646,7 @@ trip_point_hyst_store(struct device *dev, struct device_attribute *attr,
+ {
+ struct thermal_zone_device *tz = to_thermal_zone(dev);
+ int trip, ret;
+- unsigned long temperature;
++ int temperature;
+
+ if (!tz->ops->set_trip_hyst)
+ return -EPERM;
+@@ -656,7 +654,7 @@ trip_point_hyst_store(struct device *dev, struct device_attribute *attr,
+ if (!sscanf(attr->attr.name, "trip_point_%d_hyst", &trip))
+ return -EINVAL;
+
+- if (kstrtoul(buf, 10, &temperature))
++ if (kstrtoint(buf, 10, &temperature))
+ return -EINVAL;
+
+ /*
+@@ -675,7 +673,7 @@ trip_point_hyst_show(struct device *dev, struct device_attribute *attr,
+ {
+ struct thermal_zone_device *tz = to_thermal_zone(dev);
+ int trip, ret;
+- unsigned long temperature;
++ int temperature;
+
+ if (!tz->ops->get_trip_hyst)
+ return -EPERM;
+@@ -685,7 +683,7 @@ trip_point_hyst_show(struct device *dev, struct device_attribute *attr,
+
+ ret = tz->ops->get_trip_hyst(tz, trip, &temperature);
+
+- return ret ? ret : sprintf(buf, "%ld\n", temperature);
++ return ret ? ret : sprintf(buf, "%d\n", temperature);
+ }
+
+ static ssize_t
+diff --git a/drivers/thermal/thermal_hwmon.c b/drivers/thermal/thermal_hwmon.c
+index 1967bee..06fd2ed9 100644
+--- a/drivers/thermal/thermal_hwmon.c
++++ b/drivers/thermal/thermal_hwmon.c
+@@ -69,7 +69,7 @@ static DEVICE_ATTR(name, 0444, name_show, NULL);
+ static ssize_t
+ temp_input_show(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+- long temperature;
++ int temperature;
+ int ret;
+ struct thermal_hwmon_attr *hwmon_attr
+ = container_of(attr, struct thermal_hwmon_attr, attr);
+@@ -83,7 +83,7 @@ temp_input_show(struct device *dev, struct device_attribute *attr, char *buf)
+ if (ret)
+ return ret;
+
+- return sprintf(buf, "%ld\n", temperature);
++ return sprintf(buf, "%d\n", temperature);
+ }
+
+ static ssize_t
+@@ -95,14 +95,14 @@ temp_crit_show(struct device *dev, struct device_attribute *attr, char *buf)
+ = container_of(hwmon_attr, struct thermal_hwmon_temp,
+ temp_crit);
+ struct thermal_zone_device *tz = temp->tz;
+- long temperature;
++ int temperature;
+ int ret;
+
+ ret = tz->ops->get_trip_temp(tz, 0, &temperature);
+ if (ret)
+ return ret;
+
+- return sprintf(buf, "%ld\n", temperature);
++ return sprintf(buf, "%d\n", temperature);
+ }
+
+
+@@ -142,7 +142,7 @@ thermal_hwmon_lookup_temp(const struct thermal_hwmon_device *hwmon,
+
+ static bool thermal_zone_crit_temp_valid(struct thermal_zone_device *tz)
+ {
+- unsigned long temp;
++ int temp;
+ return tz->ops->get_crit_temp && !tz->ops->get_crit_temp(tz, &temp);
+ }
+
+diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
+index a38c175..d3a42bf 100644
+--- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
++++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
+@@ -76,14 +76,14 @@ static inline int ti_thermal_hotspot_temperature(int t, int s, int c)
+
+ /* thermal zone ops */
+ /* Get temperature callback function for thermal zone*/
+-static inline int __ti_thermal_get_temp(void *devdata, long *temp)
++static inline int __ti_thermal_get_temp(void *devdata, int *temp)
+ {
+ struct thermal_zone_device *pcb_tz = NULL;
+ struct ti_thermal_data *data = devdata;
+ struct ti_bandgap *bgp;
+ const struct ti_temp_sensor *s;
+ int ret, tmp, slope, constant;
+- unsigned long pcb_temp;
++ int pcb_temp;
+
+ if (!data)
+ return 0;
+@@ -119,7 +119,7 @@ static inline int __ti_thermal_get_temp(void *devdata, long *temp)
+ }
+
+ static inline int ti_thermal_get_temp(struct thermal_zone_device *thermal,
+- unsigned long *temp)
++ int *temp)
+ {
+ struct ti_thermal_data *data = thermal->devdata;
+
+@@ -228,7 +228,7 @@ static int ti_thermal_get_trip_type(struct thermal_zone_device *thermal,
+
+ /* Get trip temperature callback functions for thermal zone */
+ static int ti_thermal_get_trip_temp(struct thermal_zone_device *thermal,
+- int trip, unsigned long *temp)
++ int trip, int *temp)
+ {
+ if (!ti_thermal_is_valid_trip(trip))
+ return -EINVAL;
+@@ -279,7 +279,7 @@ static int ti_thermal_get_trend(struct thermal_zone_device *thermal,
+
+ /* Get critical temperature callback functions for thermal zone */
+ static int ti_thermal_get_crit_temp(struct thermal_zone_device *thermal,
+- unsigned long *temp)
++ int *temp)
+ {
+ /* shutdown zone */
+ return ti_thermal_get_trip_temp(thermal, OMAP_TRIP_NUMBER - 1, temp);
+diff --git a/drivers/thermal/x86_pkg_temp_thermal.c b/drivers/thermal/x86_pkg_temp_thermal.c
+index 9ea3d9d..054c6d45 100644
+--- a/drivers/thermal/x86_pkg_temp_thermal.c
++++ b/drivers/thermal/x86_pkg_temp_thermal.c
+@@ -164,7 +164,7 @@ err_ret:
+ return err;
+ }
+
+-static int sys_get_curr_temp(struct thermal_zone_device *tzd, unsigned long *temp)
++static int sys_get_curr_temp(struct thermal_zone_device *tzd, int *temp)
+ {
+ u32 eax, edx;
+ struct phy_dev_entry *phy_dev_entry;
+@@ -175,7 +175,7 @@ static int sys_get_curr_temp(struct thermal_zone_device *tzd, unsigned long *tem
+ if (eax & 0x80000000) {
+ *temp = phy_dev_entry->tj_max -
+ ((eax >> 16) & 0x7f) * 1000;
+- pr_debug("sys_get_curr_temp %ld\n", *temp);
++ pr_debug("sys_get_curr_temp %d\n", *temp);
+ return 0;
+ }
+
+@@ -183,7 +183,7 @@ static int sys_get_curr_temp(struct thermal_zone_device *tzd, unsigned long *tem
+ }
+
+ static int sys_get_trip_temp(struct thermal_zone_device *tzd,
+- int trip, unsigned long *temp)
++ int trip, int *temp)
+ {
+ u32 eax, edx;
+ struct phy_dev_entry *phy_dev_entry;
+@@ -214,13 +214,13 @@ static int sys_get_trip_temp(struct thermal_zone_device *tzd,
+ *temp = phy_dev_entry->tj_max - thres_reg_value * 1000;
+ else
+ *temp = 0;
+- pr_debug("sys_get_trip_temp %ld\n", *temp);
++ pr_debug("sys_get_trip_temp %d\n", *temp);
+
+ return 0;
+ }
+
+ static int sys_set_trip_temp(struct thermal_zone_device *tzd, int trip,
+- unsigned long temp)
++ int temp)
+ {
+ u32 l, h;
+ struct phy_dev_entry *phy_dev_entry;
+diff --git a/include/linux/thermal.h b/include/linux/thermal.h
+index 5eac316..e9f2863 100644
+--- a/include/linux/thermal.h
++++ b/include/linux/thermal.h
+@@ -86,23 +86,19 @@ struct thermal_zone_device_ops {
+ struct thermal_cooling_device *);
+ int (*unbind) (struct thermal_zone_device *,
+ struct thermal_cooling_device *);
+- int (*get_temp) (struct thermal_zone_device *, unsigned long *);
++ int (*get_temp) (struct thermal_zone_device *, int *);
+ int (*get_mode) (struct thermal_zone_device *,
+ enum thermal_device_mode *);
+ int (*set_mode) (struct thermal_zone_device *,
+ enum thermal_device_mode);
+ int (*get_trip_type) (struct thermal_zone_device *, int,
+ enum thermal_trip_type *);
+- int (*get_trip_temp) (struct thermal_zone_device *, int,
+- unsigned long *);
+- int (*set_trip_temp) (struct thermal_zone_device *, int,
+- unsigned long);
+- int (*get_trip_hyst) (struct thermal_zone_device *, int,
+- unsigned long *);
+- int (*set_trip_hyst) (struct thermal_zone_device *, int,
+- unsigned long);
+- int (*get_crit_temp) (struct thermal_zone_device *, unsigned long *);
+- int (*set_emul_temp) (struct thermal_zone_device *, unsigned long);
++ int (*get_trip_temp) (struct thermal_zone_device *, int, int *);
++ int (*set_trip_temp) (struct thermal_zone_device *, int, int);
++ int (*get_trip_hyst) (struct thermal_zone_device *, int, int *);
++ int (*set_trip_hyst) (struct thermal_zone_device *, int, int);
++ int (*get_crit_temp) (struct thermal_zone_device *, int *);
++ int (*set_emul_temp) (struct thermal_zone_device *, int);
+ int (*get_trend) (struct thermal_zone_device *, int,
+ enum thermal_trend *);
+ int (*notify) (struct thermal_zone_device *, int,
+@@ -272,9 +268,9 @@ struct thermal_genl_event {
+ * temperature.
+ */
+ struct thermal_zone_of_device_ops {
+- int (*get_temp)(void *, long *);
++ int (*get_temp)(void *, int *);
+ int (*get_trend)(void *, long *);
+- int (*set_emul_temp)(void *, unsigned long);
++ int (*set_emul_temp)(void *, int);
+ };
+
+ /**
+@@ -335,7 +331,7 @@ thermal_of_cooling_device_register(struct device_node *np, char *, void *,
+ const struct thermal_cooling_device_ops *);
+ void thermal_cooling_device_unregister(struct thermal_cooling_device *);
+ struct thermal_zone_device *thermal_zone_get_zone_by_name(const char *name);
+-int thermal_zone_get_temp(struct thermal_zone_device *tz, unsigned long *temp);
++int thermal_zone_get_temp(struct thermal_zone_device *tz, int *temp);
+
+ int get_tz_trend(struct thermal_zone_device *, int);
+ struct thermal_instance *get_thermal_instance(struct thermal_zone_device *,
+@@ -378,7 +374,7 @@ static inline struct thermal_zone_device *thermal_zone_get_zone_by_name(
+ const char *name)
+ { return ERR_PTR(-ENODEV); }
+ static inline int thermal_zone_get_temp(
+- struct thermal_zone_device *tz, unsigned long *temp)
++ struct thermal_zone_device *tz, int *temp)
+ { return -ENODEV; }
+ static inline int get_tz_trend(struct thermal_zone_device *tz, int trip)
+ { return -ENODEV; }
+--
+1.7.10.4
+