linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] PM / devfreq: Fix incorrect usage of IS_ERR_OR_NULL in exynos5_bus.c
@ 2013-06-05  6:12 Sachin Kamat
  2013-06-05  6:13 ` [PATCH 2/3] PM / devfreq: Remove redundant platform_set_drvdata() " Sachin Kamat
  2013-06-05  6:13 ` [PATCH 3/3] PM / devfreq: Use devm_* APIs " Sachin Kamat
  0 siblings, 2 replies; 4+ messages in thread
From: Sachin Kamat @ 2013-06-05  6:12 UTC (permalink / raw)
  To: linux-pm; +Cc: myungjoo.ham, kyungmin.park, a.kesavan, sachin.kamat, patches

platform_device_register_simple does not return NULL.
Hence NULL check is not required.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/devfreq/exynos/exynos5_bus.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/devfreq/exynos/exynos5_bus.c b/drivers/devfreq/exynos/exynos5_bus.c
index 574b16b..cd1e630 100644
--- a/drivers/devfreq/exynos/exynos5_bus.c
+++ b/drivers/devfreq/exynos/exynos5_bus.c
@@ -479,7 +479,7 @@ static int __init exynos5_busfreq_int_init(void)
 
 	exynos5_devfreq_pdev =
 		platform_device_register_simple("exynos5-bus-int", -1, NULL, 0);
-	if (IS_ERR_OR_NULL(exynos5_devfreq_pdev)) {
+	if (IS_ERR(exynos5_devfreq_pdev)) {
 		ret = PTR_ERR(exynos5_devfreq_pdev);
 		goto out1;
 	}
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [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

* Re: [PATCH 2/3] PM / devfreq: Remove redundant platform_set_drvdata() in exynos5_bus.c
  2013-06-05  6:13 ` [PATCH 2/3] PM / devfreq: Remove redundant platform_set_drvdata() " Sachin Kamat
@ 2013-06-07 10:30   ` MyungJoo Ham
  0 siblings, 0 replies; 4+ messages in thread
From: MyungJoo Ham @ 2013-06-07 10:30 UTC (permalink / raw)
  To: Sachin Kamat
  Cc: Linux PM list, Kyungmin Park, Abhilash Kesavan,
	patches@linaro.org

On Wed, Jun 5, 2013 at 3:13 PM, Sachin Kamat <sachin.kamat@linaro.org> wrote:
> 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>

Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com.

Will be applied to the for-next branch soon. Thank you.

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



--
MyungJoo Ham, Ph.D.
Mobile Software Platform Lab, DMC Business, Samsung Electronics

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-06-07 10:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-07 10:30   ` MyungJoo Ham
2013-06-05  6:13 ` [PATCH 3/3] PM / devfreq: Use devm_* APIs " Sachin Kamat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).