summaryrefslogtreecommitdiff
path: root/drivers/thermal
diff options
context:
space:
mode:
authorAmit Daniel Kachhap <amit.daniel@samsung.com>2013-06-25 17:11:42 +0530
committerChanho Park <chanho61.park@samsung.com>2014-03-20 17:41:50 +0900
commited625f9c3342b2e7b66996d63b4494f3c8e6bad7 (patch)
tree528ee9868e1a945f3052e6160c6269f26ffc8d53 /drivers/thermal
parent42086c162c1544afb2c9f4061a4dd88ec60d7f49 (diff)
downloadlinux-3.10-ed625f9c3342b2e7b66996d63b4494f3c8e6bad7.tar.gz
linux-3.10-ed625f9c3342b2e7b66996d63b4494f3c8e6bad7.tar.bz2
linux-3.10-ed625f9c3342b2e7b66996d63b4494f3c8e6bad7.zip
thermal: exynos: use device resource management infrastructure
This patch uses the device pointer stored in the configuration structure and converts to dev_* prints and devm API's. Acked-by: Kukjin Kim <kgene.kim@samsung.com> Acked-by: Jonghwa Lee <jonghwa3.lee@samsung.com> Acked-by: Eduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Diffstat (limited to 'drivers/thermal')
-rw-r--r--drivers/thermal/samsung/exynos_thermal_common.c36
1 files changed, 23 insertions, 13 deletions
diff --git a/drivers/thermal/samsung/exynos_thermal_common.c b/drivers/thermal/samsung/exynos_thermal_common.c
index af0ae77eb01..4d8e4445ea1 100644
--- a/drivers/thermal/samsung/exynos_thermal_common.c
+++ b/drivers/thermal/samsung/exynos_thermal_common.c
@@ -53,7 +53,8 @@ static int exynos_set_mode(struct thermal_zone_device *thermal,
{
struct exynos_thermal_zone *th_zone = thermal->devdata;
if (!th_zone) {
- pr_notice("thermal zone not registered\n");
+ dev_err(th_zone->sensor_conf->dev,
+ "thermal zone not registered\n");
return 0;
}
@@ -69,8 +70,9 @@ static int exynos_set_mode(struct thermal_zone_device *thermal,
th_zone->mode = mode;
thermal_zone_device_update(thermal);
- pr_info("thermal polling set for duration=%d msec\n",
- thermal->polling_delay);
+ dev_dbg(th_zone->sensor_conf->dev,
+ "thermal polling set for duration=%d msec\n",
+ thermal->polling_delay);
return 0;
}
@@ -162,7 +164,8 @@ static int exynos_bind(struct thermal_zone_device *thermal,
case WARN_ZONE:
if (thermal_zone_bind_cooling_device(thermal, i, cdev,
level, 0)) {
- pr_err("error binding cdev inst %d\n", i);
+ dev_err(data->dev,
+ "error unbinding cdev inst=%d\n", i);
ret = -EINVAL;
}
th_zone->bind = true;
@@ -207,7 +210,8 @@ static int exynos_unbind(struct thermal_zone_device *thermal,
case WARN_ZONE:
if (thermal_zone_unbind_cooling_device(thermal, i,
cdev)) {
- pr_err("error unbinding cdev inst=%d\n", i);
+ dev_err(data->dev,
+ "error unbinding cdev inst=%d\n", i);
ret = -EINVAL;
}
th_zone->bind = false;
@@ -227,7 +231,8 @@ static int exynos_get_temp(struct thermal_zone_device *thermal,
void *data;
if (!th_zone->sensor_conf) {
- pr_info("Temperature sensor not initialised\n");
+ dev_err(th_zone->sensor_conf->dev,
+ "Temperature sensor not initialised\n");
return -EINVAL;
}
data = th_zone->sensor_conf->driver_data;
@@ -246,7 +251,8 @@ static int exynos_set_emul_temp(struct thermal_zone_device *thermal,
struct exynos_thermal_zone *th_zone = thermal->devdata;
if (!th_zone->sensor_conf) {
- pr_info("Temperature sensor not initialised\n");
+ dev_err(th_zone->sensor_conf->dev,
+ "Temperature sensor not initialised\n");
return -EINVAL;
}
data = th_zone->sensor_conf->driver_data;
@@ -351,7 +357,8 @@ int exynos_register_thermal(struct thermal_sensor_conf *sensor_conf)
return -EINVAL;
}
- th_zone = kzalloc(sizeof(struct exynos_thermal_zone), GFP_KERNEL);
+ th_zone = devm_kzalloc(sensor_conf->dev,
+ sizeof(struct exynos_thermal_zone), GFP_KERNEL);
if (!th_zone)
return -ENOMEM;
@@ -366,7 +373,8 @@ int exynos_register_thermal(struct thermal_sensor_conf *sensor_conf)
th_zone->cool_dev[th_zone->cool_dev_size] =
cpufreq_cooling_register(&mask_val);
if (IS_ERR(th_zone->cool_dev[th_zone->cool_dev_size])) {
- pr_err("Failed to register cpufreq cooling device\n");
+ dev_err(sensor_conf->dev,
+ "Failed to register cpufreq cooling device\n");
ret = -EINVAL;
goto err_unregister;
}
@@ -380,14 +388,16 @@ int exynos_register_thermal(struct thermal_sensor_conf *sensor_conf)
IDLE_INTERVAL);
if (IS_ERR(th_zone->therm_dev)) {
- pr_err("Failed to register thermal zone device\n");
+ dev_err(sensor_conf->dev,
+ "Failed to register thermal zone device\n");
ret = PTR_ERR(th_zone->therm_dev);
goto err_unregister;
}
th_zone->mode = THERMAL_DEVICE_ENABLED;
sensor_conf->pzone_data = th_zone;
- pr_info("Exynos: Kernel Thermal management registered\n");
+ dev_info(sensor_conf->dev,
+ "Exynos: Thermal zone(%s) registered\n", sensor_conf->name);
return 0;
@@ -417,6 +427,6 @@ void exynos_unregister_thermal(struct thermal_sensor_conf *sensor_conf)
cpufreq_cooling_unregister(th_zone->cool_dev[i]);
}
- kfree(th_zone);
- pr_info("Exynos: Kernel Thermal management unregistered\n");
+ dev_info(sensor_conf->dev,
+ "Exynos: Kernel Thermal management unregistered\n");
}