diff mbox

drivers/thermal/spear_thermal.c: use devm_clk_get

Message ID 1354876172-1634-1-git-send-email-Julia.Lawall@lip6.fr (mailing list archive)
State Accepted, archived
Delegated to: Zhang Rui
Headers show

Commit Message

Julia Lawall Dec. 7, 2012, 10:29 a.m. UTC
From: Julia Lawall <Julia.Lawall@lip6.fr>

devm_clk_get allocates a resource that is released when a driver detaches.
This patch uses devm_clk_get for data that is allocated in the probe
function of a platform device and is only released in the remove function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
I was not able to compile this code.  At one point, devm_clk_get was not
supported for all architectures.  If that is still the case, and the code
doesn't compile, then just ignore the patch.

 drivers/thermal/spear_thermal.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)


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

Comments

Zhang Rui Jan. 4, 2013, 7:27 a.m. UTC | #1
On Fri, 2012-12-07 at 11:29 +0100, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> devm_clk_get allocates a resource that is released when a driver detaches.
> This patch uses devm_clk_get for data that is allocated in the probe
> function of a platform device and is only released in the remove function.
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> 
applied to thermal-next.

thanks,
rui

> ---
> I was not able to compile this code.  At one point, devm_clk_get was not
> supported for all architectures.  If that is still the case, and the code
> doesn't compile, then just ignore the patch.
> 
>  drivers/thermal/spear_thermal.c |    7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
> index 6b2d8b2..3c5ee56 100644
> --- a/drivers/thermal/spear_thermal.c
> +++ b/drivers/thermal/spear_thermal.c
> @@ -131,7 +131,7 @@ static int spear_thermal_probe(struct platform_device *pdev)
>  		return -ENOMEM;
>  	}
>  
> -	stdev->clk = clk_get(&pdev->dev, NULL);
> +	stdev->clk = devm_clk_get(&pdev->dev, NULL);
>  	if (IS_ERR(stdev->clk)) {
>  		dev_err(&pdev->dev, "Can't get clock\n");
>  		return PTR_ERR(stdev->clk);
> @@ -140,7 +140,7 @@ static int spear_thermal_probe(struct platform_device *pdev)
>  	ret = clk_enable(stdev->clk);
>  	if (ret) {
>  		dev_err(&pdev->dev, "Can't enable clock\n");
> -		goto put_clk;
> +		return ret;
>  	}
>  
>  	stdev->flags = val;
> @@ -163,8 +163,6 @@ static int spear_thermal_probe(struct platform_device *pdev)
>  
>  disable_clk:
>  	clk_disable(stdev->clk);
> -put_clk:
> -	clk_put(stdev->clk);
>  
>  	return ret;
>  }
> @@ -183,7 +181,6 @@ static int spear_thermal_exit(struct platform_device *pdev)
>  	writel_relaxed(actual_mask & ~stdev->flags, stdev->thermal_base);
>  
>  	clk_disable(stdev->clk);
> -	clk_put(stdev->clk);
>  
>  	return 0;
>  }
> 


--
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
diff mbox

Patch

diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
index 6b2d8b2..3c5ee56 100644
--- a/drivers/thermal/spear_thermal.c
+++ b/drivers/thermal/spear_thermal.c
@@ -131,7 +131,7 @@  static int spear_thermal_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
-	stdev->clk = clk_get(&pdev->dev, NULL);
+	stdev->clk = devm_clk_get(&pdev->dev, NULL);
 	if (IS_ERR(stdev->clk)) {
 		dev_err(&pdev->dev, "Can't get clock\n");
 		return PTR_ERR(stdev->clk);
@@ -140,7 +140,7 @@  static int spear_thermal_probe(struct platform_device *pdev)
 	ret = clk_enable(stdev->clk);
 	if (ret) {
 		dev_err(&pdev->dev, "Can't enable clock\n");
-		goto put_clk;
+		return ret;
 	}
 
 	stdev->flags = val;
@@ -163,8 +163,6 @@  static int spear_thermal_probe(struct platform_device *pdev)
 
 disable_clk:
 	clk_disable(stdev->clk);
-put_clk:
-	clk_put(stdev->clk);
 
 	return ret;
 }
@@ -183,7 +181,6 @@  static int spear_thermal_exit(struct platform_device *pdev)
 	writel_relaxed(actual_mask & ~stdev->flags, stdev->thermal_base);
 
 	clk_disable(stdev->clk);
-	clk_put(stdev->clk);
 
 	return 0;
 }