]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
crypto: atmel - use devm_xxx() managed function
authorLABBE Corentin <clabbe.montjoie@gmail.com>
Mon, 12 Oct 2015 17:47:03 +0000 (19:47 +0200)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 26 May 2016 22:44:54 +0000 (15:44 -0700)
Orabug: 23330839

[ Upstream commit b0e8b3417a620e6e0a91fd526fbc6db78714198e ]

Using the devm_xxx() managed function to stripdown the error and remove
code.

Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit 5955bf64814d8663117e9397373fb20f9f71dff0)

Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/crypto/atmel-aes.c
drivers/crypto/atmel-sha.c
drivers/crypto/atmel-tdes.c

index 0f9a9dc06a830f4eb5f9669ba26df7c2f0a95077..6178c1640ca995a2451fe1891ab094b9d3cb2766 100644 (file)
@@ -1320,7 +1320,6 @@ static int atmel_aes_probe(struct platform_device *pdev)
        struct crypto_platform_data *pdata;
        struct device *dev = &pdev->dev;
        struct resource *aes_res;
-       unsigned long aes_phys_size;
        int err;
 
        pdata = pdev->dev.platform_data;
@@ -1337,7 +1336,7 @@ static int atmel_aes_probe(struct platform_device *pdev)
                goto aes_dd_err;
        }
 
-       aes_dd = kzalloc(sizeof(struct atmel_aes_dev), GFP_KERNEL);
+       aes_dd = devm_kzalloc(&pdev->dev, sizeof(*aes_dd), GFP_KERNEL);
        if (aes_dd == NULL) {
                dev_err(dev, "unable to alloc data struct.\n");
                err = -ENOMEM;
@@ -1368,36 +1367,35 @@ static int atmel_aes_probe(struct platform_device *pdev)
                goto res_err;
        }
        aes_dd->phys_base = aes_res->start;
-       aes_phys_size = resource_size(aes_res);
 
        /* Get the IRQ */
        aes_dd->irq = platform_get_irq(pdev,  0);
        if (aes_dd->irq < 0) {
                dev_err(dev, "no IRQ resource info\n");
                err = aes_dd->irq;
-               goto aes_irq_err;
+               goto res_err;
        }
 
-       err = request_irq(aes_dd->irq, atmel_aes_irq, IRQF_SHARED, "atmel-aes",
-                                               aes_dd);
+       err = devm_request_irq(&pdev->dev, aes_dd->irq, atmel_aes_irq,
+                              IRQF_SHARED, "atmel-aes", aes_dd);
        if (err) {
                dev_err(dev, "unable to request aes irq.\n");
-               goto aes_irq_err;
+               goto res_err;
        }
 
        /* Initializing the clock */
-       aes_dd->iclk = clk_get(&pdev->dev, "aes_clk");
+       aes_dd->iclk = devm_clk_get(&pdev->dev, "aes_clk");
        if (IS_ERR(aes_dd->iclk)) {
                dev_err(dev, "clock initialization failed.\n");
                err = PTR_ERR(aes_dd->iclk);
-               goto clk_err;
+               goto res_err;
        }
 
-       aes_dd->io_base = ioremap(aes_dd->phys_base, aes_phys_size);
+       aes_dd->io_base = devm_ioremap_resource(&pdev->dev, aes_res);
        if (!aes_dd->io_base) {
                dev_err(dev, "can't ioremap\n");
                err = -ENOMEM;
-               goto aes_io_err;
+               goto res_err;
        }
 
        atmel_aes_hw_version_init(aes_dd);
@@ -1434,17 +1432,9 @@ err_algs:
 err_aes_dma:
        atmel_aes_buff_cleanup(aes_dd);
 err_aes_buff:
-       iounmap(aes_dd->io_base);
-aes_io_err:
-       clk_put(aes_dd->iclk);
-clk_err:
-       free_irq(aes_dd->irq, aes_dd);
-aes_irq_err:
 res_err:
        tasklet_kill(&aes_dd->done_task);
        tasklet_kill(&aes_dd->queue_task);
-       kfree(aes_dd);
-       aes_dd = NULL;
 aes_dd_err:
        dev_err(dev, "initialization failed.\n");
 
@@ -1469,16 +1459,6 @@ static int atmel_aes_remove(struct platform_device *pdev)
 
        atmel_aes_dma_cleanup(aes_dd);
 
-       iounmap(aes_dd->io_base);
-
-       clk_put(aes_dd->iclk);
-
-       if (aes_dd->irq > 0)
-               free_irq(aes_dd->irq, aes_dd);
-
-       kfree(aes_dd);
-       aes_dd = NULL;
-
        return 0;
 }
 
index 5b35433c5399b1264712d6b785cacea6abca5c9b..5f9da90db0605d2bd1a7d5cabab1e3318f944e20 100644 (file)
@@ -1345,11 +1345,9 @@ static int atmel_sha_probe(struct platform_device *pdev)
        struct crypto_platform_data     *pdata;
        struct device *dev = &pdev->dev;
        struct resource *sha_res;
-       unsigned long sha_phys_size;
        int err;
 
-       sha_dd = devm_kzalloc(&pdev->dev, sizeof(struct atmel_sha_dev),
-                               GFP_KERNEL);
+       sha_dd = devm_kzalloc(&pdev->dev, sizeof(*sha_dd), GFP_KERNEL);
        if (sha_dd == NULL) {
                dev_err(dev, "unable to alloc data struct.\n");
                err = -ENOMEM;
@@ -1378,7 +1376,6 @@ static int atmel_sha_probe(struct platform_device *pdev)
                goto res_err;
        }
        sha_dd->phys_base = sha_res->start;
-       sha_phys_size = resource_size(sha_res);
 
        /* Get the IRQ */
        sha_dd->irq = platform_get_irq(pdev,  0);
@@ -1388,26 +1385,26 @@ static int atmel_sha_probe(struct platform_device *pdev)
                goto res_err;
        }
 
-       err = request_irq(sha_dd->irq, atmel_sha_irq, IRQF_SHARED, "atmel-sha",
-                                               sha_dd);
+       err = devm_request_irq(&pdev->dev, sha_dd->irq, atmel_sha_irq,
+                              IRQF_SHARED, "atmel-sha", sha_dd);
        if (err) {
                dev_err(dev, "unable to request sha irq.\n");
                goto res_err;
        }
 
        /* Initializing the clock */
-       sha_dd->iclk = clk_get(&pdev->dev, "sha_clk");
+       sha_dd->iclk = devm_clk_get(&pdev->dev, "sha_clk");
        if (IS_ERR(sha_dd->iclk)) {
                dev_err(dev, "clock initialization failed.\n");
                err = PTR_ERR(sha_dd->iclk);
-               goto clk_err;
+               goto res_err;
        }
 
-       sha_dd->io_base = ioremap(sha_dd->phys_base, sha_phys_size);
+       sha_dd->io_base = devm_ioremap_resource(&pdev->dev, sha_res);
        if (!sha_dd->io_base) {
                dev_err(dev, "can't ioremap\n");
                err = -ENOMEM;
-               goto sha_io_err;
+               goto res_err;
        }
 
        atmel_sha_hw_version_init(sha_dd);
@@ -1421,12 +1418,12 @@ static int atmel_sha_probe(struct platform_device *pdev)
                        if (IS_ERR(pdata)) {
                                dev_err(&pdev->dev, "platform data not available\n");
                                err = PTR_ERR(pdata);
-                               goto err_pdata;
+                               goto res_err;
                        }
                }
                if (!pdata->dma_slave) {
                        err = -ENXIO;
-                       goto err_pdata;
+                       goto res_err;
                }
                err = atmel_sha_dma_init(sha_dd, pdata);
                if (err)
@@ -1457,12 +1454,6 @@ err_algs:
        if (sha_dd->caps.has_dma)
                atmel_sha_dma_cleanup(sha_dd);
 err_sha_dma:
-err_pdata:
-       iounmap(sha_dd->io_base);
-sha_io_err:
-       clk_put(sha_dd->iclk);
-clk_err:
-       free_irq(sha_dd->irq, sha_dd);
 res_err:
        tasklet_kill(&sha_dd->done_task);
 sha_dd_err:
index ca2999709eb4cf6fa38ca0096a482659a52c1f21..aaae20e7247735665d2997625868af9b01e01253 100644 (file)
@@ -1355,7 +1355,6 @@ static int atmel_tdes_probe(struct platform_device *pdev)
        struct crypto_platform_data     *pdata;
        struct device *dev = &pdev->dev;
        struct resource *tdes_res;
-       unsigned long tdes_phys_size;
        int err;
 
        tdes_dd = devm_kmalloc(&pdev->dev, sizeof(*tdes_dd), GFP_KERNEL);
@@ -1389,7 +1388,6 @@ static int atmel_tdes_probe(struct platform_device *pdev)
                goto res_err;
        }
        tdes_dd->phys_base = tdes_res->start;
-       tdes_phys_size = resource_size(tdes_res);
 
        /* Get the IRQ */
        tdes_dd->irq = platform_get_irq(pdev,  0);
@@ -1399,26 +1397,26 @@ static int atmel_tdes_probe(struct platform_device *pdev)
                goto res_err;
        }
 
-       err = request_irq(tdes_dd->irq, atmel_tdes_irq, IRQF_SHARED,
-                       "atmel-tdes", tdes_dd);
+       err = devm_request_irq(&pdev->dev, tdes_dd->irq, atmel_tdes_irq,
+                              IRQF_SHARED, "atmel-tdes", tdes_dd);
        if (err) {
                dev_err(dev, "unable to request tdes irq.\n");
-               goto tdes_irq_err;
+               goto res_err;
        }
 
        /* Initializing the clock */
-       tdes_dd->iclk = clk_get(&pdev->dev, "tdes_clk");
+       tdes_dd->iclk = devm_clk_get(&pdev->dev, "tdes_clk");
        if (IS_ERR(tdes_dd->iclk)) {
                dev_err(dev, "clock initialization failed.\n");
                err = PTR_ERR(tdes_dd->iclk);
-               goto clk_err;
+               goto res_err;
        }
 
-       tdes_dd->io_base = ioremap(tdes_dd->phys_base, tdes_phys_size);
+       tdes_dd->io_base = devm_ioremap_resource(&pdev->dev, tdes_res);
        if (!tdes_dd->io_base) {
                dev_err(dev, "can't ioremap\n");
                err = -ENOMEM;
-               goto tdes_io_err;
+               goto res_err;
        }
 
        atmel_tdes_hw_version_init(tdes_dd);
@@ -1474,12 +1472,6 @@ err_tdes_dma:
 err_pdata:
        atmel_tdes_buff_cleanup(tdes_dd);
 err_tdes_buff:
-       iounmap(tdes_dd->io_base);
-tdes_io_err:
-       clk_put(tdes_dd->iclk);
-clk_err:
-       free_irq(tdes_dd->irq, tdes_dd);
-tdes_irq_err:
 res_err:
        tasklet_kill(&tdes_dd->done_task);
        tasklet_kill(&tdes_dd->queue_task);
@@ -1510,13 +1502,6 @@ static int atmel_tdes_remove(struct platform_device *pdev)
 
        atmel_tdes_buff_cleanup(tdes_dd);
 
-       iounmap(tdes_dd->io_base);
-
-       clk_put(tdes_dd->iclk);
-
-       if (tdes_dd->irq >= 0)
-               free_irq(tdes_dd->irq, tdes_dd);
-
        return 0;
 }