aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2014-02-27 00:04:28 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2014-03-10 08:13:37 -0400
commit0c0aa8446433849f19761ebb7cd2f58fde387a04 (patch)
tree20bd0690134b1818b948281286db3d329af15145 /drivers/char
parent0574bce9691f238f3351b28c27de337d4519d595 (diff)
hwrng: pixocell - Use devm_clk_get()
Use devm_clk_get() to make cleanup paths simpler. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/hw_random/picoxcell-rng.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/char/hw_random/picoxcell-rng.c b/drivers/char/hw_random/picoxcell-rng.c
index c03beeeb1aea..eab5448ad56f 100644
--- a/drivers/char/hw_random/picoxcell-rng.c
+++ b/drivers/char/hw_random/picoxcell-rng.c
@@ -108,7 +108,7 @@ static int picoxcell_trng_probe(struct platform_device *pdev)
108 if (IS_ERR(rng_base)) 108 if (IS_ERR(rng_base))
109 return PTR_ERR(rng_base); 109 return PTR_ERR(rng_base);
110 110
111 rng_clk = clk_get(&pdev->dev, NULL); 111 rng_clk = devm_clk_get(&pdev->dev, NULL);
112 if (IS_ERR(rng_clk)) { 112 if (IS_ERR(rng_clk)) {
113 dev_warn(&pdev->dev, "no clk\n"); 113 dev_warn(&pdev->dev, "no clk\n");
114 return PTR_ERR(rng_clk); 114 return PTR_ERR(rng_clk);
@@ -117,7 +117,7 @@ static int picoxcell_trng_probe(struct platform_device *pdev)
117 ret = clk_enable(rng_clk); 117 ret = clk_enable(rng_clk);
118 if (ret) { 118 if (ret) {
119 dev_warn(&pdev->dev, "unable to enable clk\n"); 119 dev_warn(&pdev->dev, "unable to enable clk\n");
120 goto err_enable; 120 return ret;
121 } 121 }
122 122
123 picoxcell_trng_start(); 123 picoxcell_trng_start();
@@ -132,9 +132,6 @@ static int picoxcell_trng_probe(struct platform_device *pdev)
132 132
133err_register: 133err_register:
134 clk_disable(rng_clk); 134 clk_disable(rng_clk);
135err_enable:
136 clk_put(rng_clk);
137
138 return ret; 135 return ret;
139} 136}
140 137
@@ -142,7 +139,6 @@ static int picoxcell_trng_remove(struct platform_device *pdev)
142{ 139{
143 hwrng_unregister(&picoxcell_trng); 140 hwrng_unregister(&picoxcell_trng);
144 clk_disable(rng_clk); 141 clk_disable(rng_clk);
145 clk_put(rng_clk);
146 142
147 return 0; 143 return 0;
148} 144}