aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2014-02-27 00:00:09 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2014-03-10 08:13:35 -0400
commit0c0becd0269240cd832b7aac16fb9b48d067520e (patch)
tree598b10aab87baecc2dca130276ac3b4e5b16ea38
parent4ea5d9998a9de1c85167582d3fd2760cacf40f7d (diff)
hwrng: atmel - Use devm_clk_get()
Use devm_clk_get() to make cleanup paths simpler. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Peter Korsgaard <peter@korsgaard.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/char/hw_random/atmel-rng.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/char/hw_random/atmel-rng.c b/drivers/char/hw_random/atmel-rng.c
index dfeddf2c00b7..851bc7e20ad2 100644
--- a/drivers/char/hw_random/atmel-rng.c
+++ b/drivers/char/hw_random/atmel-rng.c
@@ -63,13 +63,13 @@ static int atmel_trng_probe(struct platform_device *pdev)
63 if (IS_ERR(trng->base)) 63 if (IS_ERR(trng->base))
64 return PTR_ERR(trng->base); 64 return PTR_ERR(trng->base);
65 65
66 trng->clk = clk_get(&pdev->dev, NULL); 66 trng->clk = devm_clk_get(&pdev->dev, NULL);
67 if (IS_ERR(trng->clk)) 67 if (IS_ERR(trng->clk))
68 return PTR_ERR(trng->clk); 68 return PTR_ERR(trng->clk);
69 69
70 ret = clk_enable(trng->clk); 70 ret = clk_enable(trng->clk);
71 if (ret) 71 if (ret)
72 goto err_enable; 72 return ret;
73 73
74 writel(TRNG_KEY | 1, trng->base + TRNG_CR); 74 writel(TRNG_KEY | 1, trng->base + TRNG_CR);
75 trng->rng.name = pdev->name; 75 trng->rng.name = pdev->name;
@@ -85,9 +85,6 @@ static int atmel_trng_probe(struct platform_device *pdev)
85 85
86err_register: 86err_register:
87 clk_disable(trng->clk); 87 clk_disable(trng->clk);
88err_enable:
89 clk_put(trng->clk);
90
91 return ret; 88 return ret;
92} 89}
93 90
@@ -99,7 +96,6 @@ static int atmel_trng_remove(struct platform_device *pdev)
99 96
100 writel(TRNG_KEY, trng->base + TRNG_CR); 97 writel(TRNG_KEY, trng->base + TRNG_CR);
101 clk_disable(trng->clk); 98 clk_disable(trng->clk);
102 clk_put(trng->clk);
103 99
104 return 0; 100 return 0;
105} 101}