diff options
Diffstat (limited to 'target/linux/mediatek/patches/0018-thermal-of-always-set-sensor-related-callbacks.patch')
-rw-r--r-- | target/linux/mediatek/patches/0018-thermal-of-always-set-sensor-related-callbacks.patch | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/target/linux/mediatek/patches/0018-thermal-of-always-set-sensor-related-callbacks.patch b/target/linux/mediatek/patches/0018-thermal-of-always-set-sensor-related-callbacks.patch deleted file mode 100644 index 3cd2e90..0000000 --- a/target/linux/mediatek/patches/0018-thermal-of-always-set-sensor-related-callbacks.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 8c9c4ed500e92c10dc4965dcd00692b3102a328a Mon Sep 17 00:00:00 2001 -From: Sascha Hauer <s.hauer@pengutronix.de> -Date: Wed, 13 May 2015 10:52:37 +0200 -Subject: [PATCH 18/76] thermal: of: always set sensor related callbacks - -Now that the thermal core treats -ENOSYS like the callbacks were -not present at all we no longer have to overwrite the ops during -runtime but instead can always set them and return -ENOSYS if no -sensor is registered. - -Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> ---- - drivers/thermal/of-thermal.c | 33 +++++++++++++-------------------- - 1 file changed, 13 insertions(+), 20 deletions(-) - ---- a/drivers/thermal/of-thermal.c -+++ b/drivers/thermal/of-thermal.c -@@ -91,7 +91,7 @@ static int of_thermal_get_temp(struct th - { - struct __thermal_zone *data = tz->devdata; - -- if (!data->ops->get_temp) -+ if (!data->ops) - return -EINVAL; - - return data->ops->get_temp(data->sensor_data, temp); -@@ -178,7 +178,7 @@ static int of_thermal_set_emul_temp(stru - struct __thermal_zone *data = tz->devdata; - - if (!data->ops || !data->ops->set_emul_temp) -- return -EINVAL; -+ return -ENOSYS; - - return data->ops->set_emul_temp(data->sensor_data, temp); - } -@@ -189,8 +189,8 @@ static int of_thermal_get_trend(struct t - struct __thermal_zone *data = tz->devdata; - int r; - -- if (!data->ops->get_trend) -- return -EINVAL; -+ if (!data->ops || !data->ops->get_trend) -+ return -ENOSYS; - - r = data->ops->get_trend(data->sensor_data, trip, trend); - if (r) -@@ -366,6 +366,10 @@ static int of_thermal_get_crit_temp(stru - } - - static struct thermal_zone_device_ops of_thermal_ops = { -+ .get_temp = of_thermal_get_temp, -+ .get_trend = of_thermal_get_trend, -+ .set_emul_temp = of_thermal_set_emul_temp, -+ - .get_mode = of_thermal_get_mode, - .set_mode = of_thermal_set_mode, - -@@ -399,13 +403,13 @@ thermal_zone_of_add_sensor(struct device - if (!ops) - return ERR_PTR(-EINVAL); - -+ if (!ops->get_temp) -+ return ERR_PTR(-EINVAL); -+ - mutex_lock(&tzd->lock); - tz->ops = ops; - tz->sensor_data = data; - -- tzd->ops->get_temp = of_thermal_get_temp; -- tzd->ops->get_trend = of_thermal_get_trend; -- tzd->ops->set_emul_temp = of_thermal_set_emul_temp; - mutex_unlock(&tzd->lock); - - return tzd; -@@ -535,9 +539,6 @@ void thermal_zone_of_sensor_unregister(s - return; - - mutex_lock(&tzd->lock); -- tzd->ops->get_temp = NULL; -- tzd->ops->get_trend = NULL; -- tzd->ops->set_emul_temp = NULL; - - tz->ops = NULL; - tz->sensor_data = NULL; -@@ -845,7 +846,6 @@ int __init of_parse_thermal_zones(void) - { - struct device_node *np, *child; - struct __thermal_zone *tz; -- struct thermal_zone_device_ops *ops; - - np = of_find_node_by_name(NULL, "thermal-zones"); - if (!np) { -@@ -869,29 +869,22 @@ int __init of_parse_thermal_zones(void) - continue; - } - -- ops = kmemdup(&of_thermal_ops, sizeof(*ops), GFP_KERNEL); -- if (!ops) -- goto exit_free; -- - tzp = kzalloc(sizeof(*tzp), GFP_KERNEL); -- if (!tzp) { -- kfree(ops); -+ if (!tzp) - goto exit_free; -- } - - /* No hwmon because there might be hwmon drivers registering */ - tzp->no_hwmon = true; - - zone = thermal_zone_device_register(child->name, tz->ntrips, - 0, tz, -- ops, tzp, -+ &of_thermal_ops, tzp, - tz->passive_delay, - tz->polling_delay); - if (IS_ERR(zone)) { - pr_err("Failed to build %s zone %ld\n", child->name, - PTR_ERR(zone)); - kfree(tzp); -- kfree(ops); - of_thermal_free_zone(tz); - /* attempting to build remaining zones still */ - } |