mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
ASoC: fsl: mpc5200_dma: Convert to devm_ioremap()
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>
This commit is contained in:
parent
e113ed3e73
commit
3b6f4cfc71
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user