ASoC: soc-core: use devm_kzalloc() for rtd
Current rtd, rtd->dev, rtd->codec_dais are created by normal kzalloc(), but we want to use devm_kzalloc() as much as possible. Created rtd->dev is registered by device_register() at soc_new_pcm_runtime(), and it will be freed at soc_free_pcm_runtime() by device_unregister(). This means, if we can use devm_kzalloc(rtd->dev, xxx) for rtd / rtd->codec_dais, all these are automatically freed via soc_free_pcm_runtime(). This patch uses devm_kzalloc(rtd->dev, xxx) for rtd / rtd->codec_dais. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/877e5nbu1z.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
5a74239930
commit
4dc0e7df62
@ -370,7 +370,6 @@ static void soc_free_pcm_runtime(struct snd_soc_pcm_runtime *rtd)
|
|||||||
if (!rtd)
|
if (!rtd)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
kfree(rtd->codec_dais);
|
|
||||||
list_del(&rtd->list);
|
list_del(&rtd->list);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -384,7 +383,6 @@ static void soc_free_pcm_runtime(struct snd_soc_pcm_runtime *rtd)
|
|||||||
* soc_new_pcm_runtime()
|
* soc_new_pcm_runtime()
|
||||||
*/
|
*/
|
||||||
device_unregister(rtd->dev);
|
device_unregister(rtd->dev);
|
||||||
kfree(rtd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
|
static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
|
||||||
@ -416,7 +414,7 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
|
|||||||
/*
|
/*
|
||||||
* for rtd
|
* for rtd
|
||||||
*/
|
*/
|
||||||
rtd = kzalloc(sizeof(struct snd_soc_pcm_runtime), GFP_KERNEL);
|
rtd = devm_kzalloc(dev, sizeof(*rtd), GFP_KERNEL);
|
||||||
if (!rtd)
|
if (!rtd)
|
||||||
goto free_rtd;
|
goto free_rtd;
|
||||||
|
|
||||||
@ -426,7 +424,7 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
|
|||||||
/*
|
/*
|
||||||
* for rtd->codec_dais
|
* for rtd->codec_dais
|
||||||
*/
|
*/
|
||||||
rtd->codec_dais = kcalloc(dai_link->num_codecs,
|
rtd->codec_dais = devm_kcalloc(dev, dai_link->num_codecs,
|
||||||
sizeof(struct snd_soc_dai *),
|
sizeof(struct snd_soc_dai *),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!rtd->codec_dais)
|
if (!rtd->codec_dais)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user