ASoC: dbdma2.c: use devm_ functions
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses devm_kzalloc, devm_request_mem_region and devm_ioremap for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
46c3a02cc9
commit
be547dd172
1 changed files with 4 additions and 10 deletions
|
@ -350,27 +350,21 @@ static struct snd_soc_platform_driver au1xpsc_soc_platform = {
|
|||
static int __devinit au1xpsc_pcm_drvprobe(struct platform_device *pdev)
|
||||
{
|
||||
struct au1xpsc_audio_dmadata *dmadata;
|
||||
int ret;
|
||||
|
||||
dmadata = kzalloc(2 * sizeof(struct au1xpsc_audio_dmadata), GFP_KERNEL);
|
||||
dmadata = devm_kzalloc(&pdev->dev,
|
||||
2 * sizeof(struct au1xpsc_audio_dmadata),
|
||||
GFP_KERNEL);
|
||||
if (!dmadata)
|
||||
return -ENOMEM;
|
||||
|
||||
platform_set_drvdata(pdev, dmadata);
|
||||
|
||||
ret = snd_soc_register_platform(&pdev->dev, &au1xpsc_soc_platform);
|
||||
if (ret)
|
||||
kfree(dmadata);
|
||||
|
||||
return ret;
|
||||
return snd_soc_register_platform(&pdev->dev, &au1xpsc_soc_platform);
|
||||
}
|
||||
|
||||
static int __devexit au1xpsc_pcm_drvremove(struct platform_device *pdev)
|
||||
{
|
||||
struct au1xpsc_audio_dmadata *dmadata = platform_get_drvdata(pdev);
|
||||
|
||||
snd_soc_unregister_platform(&pdev->dev);
|
||||
kfree(dmadata);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue