* [PATCH 2/3] PM / devfreq: Remove redundant platform_set_drvdata() in exynos5_bus.c
2013-06-05 6:12 [PATCH 1/3] PM / devfreq: Fix incorrect usage of IS_ERR_OR_NULL in exynos5_bus.c Sachin Kamat
@ 2013-06-05 6:13 ` Sachin Kamat
2013-06-07 10:30 ` MyungJoo Ham
2013-06-05 6:13 ` [PATCH 3/3] PM / devfreq: Use devm_* APIs " Sachin Kamat
1 sibling, 1 reply; 4+ messages in thread
From: Sachin Kamat @ 2013-06-05 6:13 UTC (permalink / raw)
To: linux-pm; +Cc: myungjoo.ham, kyungmin.park, a.kesavan, sachin.kamat, patches
Commit 0998d06310 (device-core: Ensure drvdata = NULL when no
driver is bound) removes the need to set driver data field to
NULL.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/devfreq/exynos/exynos5_bus.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/devfreq/exynos/exynos5_bus.c b/drivers/devfreq/exynos/exynos5_bus.c
index cd1e630..9a82419 100644
--- a/drivers/devfreq/exynos/exynos5_bus.c
+++ b/drivers/devfreq/exynos/exynos5_bus.c
@@ -419,7 +419,6 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev)
err_devfreq_add:
devfreq_remove_device(data->devfreq);
- platform_set_drvdata(pdev, NULL);
err_opp_add:
clk_put(data->int_clk);
err_clock:
@@ -437,7 +436,6 @@ static int exynos5_busfreq_int_remove(struct platform_device *pdev)
devfreq_remove_device(data->devfreq);
regulator_put(data->vdd_int);
clk_put(data->int_clk);
- platform_set_drvdata(pdev, NULL);
return 0;
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] PM / devfreq: Use devm_* APIs in exynos5_bus.c
2013-06-05 6:12 [PATCH 1/3] PM / devfreq: Fix incorrect usage of IS_ERR_OR_NULL in exynos5_bus.c Sachin Kamat
2013-06-05 6:13 ` [PATCH 2/3] PM / devfreq: Remove redundant platform_set_drvdata() " Sachin Kamat
@ 2013-06-05 6:13 ` Sachin Kamat
1 sibling, 0 replies; 4+ messages in thread
From: Sachin Kamat @ 2013-06-05 6:13 UTC (permalink / raw)
To: linux-pm; +Cc: myungjoo.ham, kyungmin.park, a.kesavan, sachin.kamat, patches
devm_* APIs are device managed and make clean up and exit codes
simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/devfreq/exynos/exynos5_bus.c | 26 ++++++++------------------
1 file changed, 8 insertions(+), 18 deletions(-)
diff --git a/drivers/devfreq/exynos/exynos5_bus.c b/drivers/devfreq/exynos/exynos5_bus.c
index 9a82419..102d1f0 100644
--- a/drivers/devfreq/exynos/exynos5_bus.c
+++ b/drivers/devfreq/exynos/exynos5_bus.c
@@ -351,20 +351,18 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev)
err = exynos5250_init_int_tables(data);
if (err)
- goto err_regulator;
+ return err;
- data->vdd_int = regulator_get(dev, "vdd_int");
+ data->vdd_int = devm_regulator_get(dev, "vdd_int");
if (IS_ERR(data->vdd_int)) {
dev_err(dev, "Cannot get the regulator \"vdd_int\"\n");
- err = PTR_ERR(data->vdd_int);
- goto err_regulator;
+ return PTR_ERR(data->vdd_int);
}
- data->int_clk = clk_get(dev, "int_clk");
+ data->int_clk = devm_clk_get(dev, "int_clk");
if (IS_ERR(data->int_clk)) {
dev_err(dev, "Cannot get clock \"int_clk\"\n");
- err = PTR_ERR(data->int_clk);
- goto err_clock;
+ return PTR_ERR(data->int_clk);
}
rcu_read_lock();
@@ -374,8 +372,7 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev)
rcu_read_unlock();
dev_err(dev, "Invalid initial frequency %lu kHz.\n",
exynos5_devfreq_int_profile.initial_freq);
- err = PTR_ERR(opp);
- goto err_opp_add;
+ return PTR_ERR(opp);
}
initial_freq = opp_get_freq(opp);
initial_volt = opp_get_voltage(opp);
@@ -385,12 +382,12 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev)
err = clk_set_rate(data->int_clk, initial_freq * 1000);
if (err) {
dev_err(dev, "Failed to set initial frequency\n");
- goto err_opp_add;
+ return err;
}
err = exynos5_int_setvolt(data, initial_volt);
if (err)
- goto err_opp_add;
+ return err;
platform_set_drvdata(pdev, data);
@@ -419,11 +416,6 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev)
err_devfreq_add:
devfreq_remove_device(data->devfreq);
-err_opp_add:
- clk_put(data->int_clk);
-err_clock:
- regulator_put(data->vdd_int);
-err_regulator:
return err;
}
@@ -434,8 +426,6 @@ static int exynos5_busfreq_int_remove(struct platform_device *pdev)
pm_qos_remove_request(&data->int_req);
unregister_pm_notifier(&data->pm_notifier);
devfreq_remove_device(data->devfreq);
- regulator_put(data->vdd_int);
- clk_put(data->int_clk);
return 0;
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread