hwrng: atmel - Use devm_clk_get()
authorJingoo Han <jg1.han@samsung.com>
Thu, 27 Feb 2014 05:00:09 +0000 (14:00 +0900)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 10 Mar 2014 12:13:35 +0000 (20:13 +0800)
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>
drivers/char/hw_random/atmel-rng.c

index dfeddf2..851bc7e 100644 (file)
@@ -63,13 +63,13 @@ static int atmel_trng_probe(struct platform_device *pdev)
        if (IS_ERR(trng->base))
                return PTR_ERR(trng->base);
 
-       trng->clk = clk_get(&pdev->dev, NULL);
+       trng->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(trng->clk))
                return PTR_ERR(trng->clk);
 
        ret = clk_enable(trng->clk);
        if (ret)
-               goto err_enable;
+               return ret;
 
        writel(TRNG_KEY | 1, trng->base + TRNG_CR);
        trng->rng.name = pdev->name;
@@ -85,9 +85,6 @@ static int atmel_trng_probe(struct platform_device *pdev)
 
 err_register:
        clk_disable(trng->clk);
-err_enable:
-       clk_put(trng->clk);
-
        return ret;
 }
 
@@ -99,7 +96,6 @@ static int atmel_trng_remove(struct platform_device *pdev)
 
        writel(TRNG_KEY, trng->base + TRNG_CR);
        clk_disable(trng->clk);
-       clk_put(trng->clk);
 
        return 0;
 }