]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: crypto4xx - avoid explicit resource
authorRosen Penev <rosenp@gmail.com>
Thu, 10 Oct 2024 19:48:20 +0000 (12:48 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 19 Oct 2024 00:44:30 +0000 (08:44 +0800)
There's no use for the resource struct. Just use
devm_platform_ioremap_resource to simplify the code.

Avoids the need to iounmap manually.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/amcc/crypto4xx_core.c

index 1bed5ca78debead6944314ad5a8bc30e81a3c4b7..06b036d4f93141bc0c2bd379f160e01360ef880f 100644 (file)
@@ -653,7 +653,6 @@ static void crypto4xx_stop_all(struct crypto4xx_core_device *core_dev)
        crypto4xx_destroy_pdr(core_dev->dev);
        crypto4xx_destroy_gdr(core_dev->dev);
        crypto4xx_destroy_sdr(core_dev->dev);
-       iounmap(core_dev->dev->ce_base);
        kfree(core_dev->dev);
        kfree(core_dev);
 }
@@ -1333,17 +1332,12 @@ static struct crypto4xx_alg_common crypto4xx_alg[] = {
 static int crypto4xx_probe(struct platform_device *ofdev)
 {
        int rc;
-       struct resource res;
        struct device *dev = &ofdev->dev;
        struct crypto4xx_core_device *core_dev;
        struct device_node *np;
        u32 pvr;
        bool is_revb = true;
 
-       rc = of_address_to_resource(ofdev->dev.of_node, 0, &res);
-       if (rc)
-               return -ENODEV;
-
        np = of_find_compatible_node(NULL, NULL, "amcc,ppc460ex-crypto");
        if (np) {
                mtdcri(SDR0, PPC460EX_SDR0_SRST,
@@ -1421,11 +1415,11 @@ static int crypto4xx_probe(struct platform_device *ofdev)
        tasklet_init(&core_dev->tasklet, crypto4xx_bh_tasklet_cb,
                     (unsigned long) dev);
 
-       core_dev->dev->ce_base = of_iomap(ofdev->dev.of_node, 0);
-       if (!core_dev->dev->ce_base) {
-               dev_err(dev, "failed to of_iomap\n");
-               rc = -ENOMEM;
-               goto err_iomap;
+       core_dev->dev->ce_base = devm_platform_ioremap_resource(ofdev, 0);
+       if (IS_ERR(core_dev->dev->ce_base)) {
+               dev_err(&ofdev->dev, "failed to ioremap resource");
+               rc = PTR_ERR(core_dev->dev->ce_base);
+               goto err_build_sdr;
        }
 
        /* Register for Crypto isr, Crypto Engine IRQ */
@@ -1453,7 +1447,6 @@ err_start_dev:
        free_irq(core_dev->irq, dev);
 err_request_irq:
        irq_dispose_mapping(core_dev->irq);
-       iounmap(core_dev->dev->ce_base);
 err_iomap:
        tasklet_kill(&core_dev->tasklet);
 err_build_sdr: