diff options
author | Julia Lawall <julia.lawall@lip6.fr> | 2011-12-29 16:51:27 (GMT) |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-02 13:08:18 (GMT) |
commit | 46c3a02cc93083cb946872896428798cfb8609c0 (patch) | |
tree | 52b8540517eb9e6c63d81e48f75281c2c0f65041 /sound/soc/au1x/dma.c | |
parent | 6d8955262ab4cbfcb3ddaca4f978d27d9c088a75 (diff) | |
download | linux-46c3a02cc93083cb946872896428798cfb8609c0.tar.xz |
ASoC: dma.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>
Diffstat (limited to 'sound/soc/au1x/dma.c')
-rw-r--r-- | sound/soc/au1x/dma.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c index c4017bd..0a91b18 100644 --- a/sound/soc/au1x/dma.c +++ b/sound/soc/au1x/dma.c @@ -325,27 +325,19 @@ static struct snd_soc_platform_driver alchemy_pcm_soc_platform = { static int __devinit alchemy_pcm_drvprobe(struct platform_device *pdev) { struct alchemy_pcm_ctx *ctx; - int ret; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL); if (!ctx) return -ENOMEM; platform_set_drvdata(pdev, ctx); - ret = snd_soc_register_platform(&pdev->dev, &alchemy_pcm_soc_platform); - if (ret) - kfree(ctx); - - return ret; + return snd_soc_register_platform(&pdev->dev, &alchemy_pcm_soc_platform); } static int __devexit alchemy_pcm_drvremove(struct platform_device *pdev) { - struct alchemy_pcm_ctx *ctx = platform_get_drvdata(pdev); - snd_soc_unregister_platform(&pdev->dev); - kfree(ctx); return 0; } |