hwrng: omap - Convert to devm_kzalloc()
authorLokesh Vutla <lokeshvutla@ti.com>
Mon, 5 Aug 2013 14:47:19 +0000 (20:17 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 9 Aug 2013 06:39:46 +0000 (16:39 +1000)
Use devm_kzalloc() to make cleanup paths simpler.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/omap-rng.c

index 3e9a7ecbd5e59f35d321cd8f78742cf41f5b282a..9c19396b940f66f87ce71bc5e5ab07d11572626c 100644 (file)
@@ -109,7 +109,8 @@ static int omap_rng_probe(struct platform_device *pdev)
        struct omap_rng_private_data *priv;
        int ret;
 
-       priv = kzalloc(sizeof(struct omap_rng_private_data), GFP_KERNEL);
+       priv = devm_kzalloc(&pdev->dev, sizeof(struct omap_rng_private_data),
+                           GFP_KERNEL);
        if (!priv) {
                dev_err(&pdev->dev, "could not allocate memory\n");
                return -ENOMEM;
@@ -144,8 +145,6 @@ err_register:
        priv->base = NULL;
        pm_runtime_disable(&pdev->dev);
 err_ioremap:
-       kfree(priv);
-
        return ret;
 }
 
@@ -160,10 +159,6 @@ static int __exit omap_rng_remove(struct platform_device *pdev)
        pm_runtime_put_sync(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
 
-       release_mem_region(priv->mem_res->start, resource_size(priv->mem_res));
-
-       kfree(priv);
-
        return 0;
 }