]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: fsl: mpc5200_dma: Convert to devm_ioremap()
authorJihed Chaibi <jihed.chaibi.dev@gmail.com>
Tue, 24 Mar 2026 22:45:30 +0000 (23:45 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 26 Mar 2026 13:42:07 +0000 (13:42 +0000)
Replace ioremap() with devm_ioremap() so the mapping is released
automatically when the device is unbound. Remove the corresponding
iounmap() calls from the error path in mpc5200_audio_dma_create() and
from mpc5200_audio_dma_destroy().

Since devm_ioremap() failure already returns directly and no other
cleanup is needed at that point, simplify the kzalloc error path to
return -ENOMEM directly instead of jumping to the now-removed out_unmap
label.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Link: https://patch.msgid.link/20260324224530.102164-1-jihed.chaibi.dev@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/mpc5200_dma.c

index ee4fb5c932cae91cbcebaacad3539d4072288644..56e2cf2f727ba9f1dcd6ed1fdb95c912ab99443e 100644 (file)
@@ -326,7 +326,7 @@ int mpc5200_audio_dma_create(struct platform_device *op)
                dev_err(&op->dev, "Missing reg property\n");
                return -ENODEV;
        }
-       regs = ioremap(res.start, resource_size(&res));
+       regs = devm_ioremap(&op->dev, res.start, resource_size(&res));
        if (!regs) {
                dev_err(&op->dev, "Could not map registers\n");
                return -ENODEV;
@@ -334,10 +334,8 @@ int mpc5200_audio_dma_create(struct platform_device *op)
 
        /* Allocate and initialize the driver private data */
        psc_dma = kzalloc_obj(*psc_dma);
-       if (!psc_dma) {
-               ret = -ENOMEM;
-               goto out_unmap;
-       }
+       if (!psc_dma)
+               return -ENOMEM;
 
        /* Get the PSC ID */
        prop = of_get_property(op->dev.of_node, "cell-index", &size);
@@ -424,8 +422,6 @@ out_irq:
        free_irq(psc_dma->playback.irq, &psc_dma->playback);
 out_free:
        kfree(psc_dma);
-out_unmap:
-       iounmap(regs);
        return ret;
 }
 EXPORT_SYMBOL_GPL(mpc5200_audio_dma_create);
@@ -444,7 +440,6 @@ int mpc5200_audio_dma_destroy(struct platform_device *op)
        free_irq(psc_dma->capture.irq, &psc_dma->capture);
        free_irq(psc_dma->playback.irq, &psc_dma->playback);
 
-       iounmap(psc_dma->psc_regs);
        kfree(psc_dma);
        dev_set_drvdata(&op->dev, NULL);