public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ASoC: fsl: mpc5200_dma: Convert to devm_ioremap()
@ 2026-03-24 22:45 Jihed Chaibi
  2026-03-26 13:42 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Jihed Chaibi @ 2026-03-24 22:45 UTC (permalink / raw)
  To: linux-sound
  Cc: kees, lgirdwood, broonie, perex, tiwai, linux-kernel,
	jihed.chaibi.dev

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>
---
 sound/soc/fsl/mpc5200_dma.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/sound/soc/fsl/mpc5200_dma.c b/sound/soc/fsl/mpc5200_dma.c
index a593a95aa532..a0d95473bec0 100644
--- a/sound/soc/fsl/mpc5200_dma.c
+++ b/sound/soc/fsl/mpc5200_dma.c
@@ -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 @@ int mpc5200_audio_dma_create(struct platform_device *op)
 	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);
 
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-26 16:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-24 22:45 [PATCH] ASoC: fsl: mpc5200_dma: Convert to devm_ioremap() Jihed Chaibi
2026-03-26 13:42 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox