On Mon, Sep 9, 2019 at 7:12 PM Kuninori Morimoto < kuninori.morimoto.gx@xxxxxxxxxxx> wrote: > > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > 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@xxxxxxxxxxx> > --- > sound/soc/soc-core.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c > index 8802287..968cf5c 100644 > --- a/sound/soc/soc-core.c > +++ b/sound/soc/soc-core.c > @@ -370,11 +370,8 @@ static void soc_free_pcm_runtime(struct > snd_soc_pcm_runtime *rtd) > if (!rtd) > return; > > - kfree(rtd->codec_dais); > - if (rtd->dev) > - device_unregister(rtd->dev); /* soc_release_rtd_dev */ > list_del(&rtd->list); > - kfree(rtd); > Morimoto-san, Just curious, why did you remove the check for if(rtd->dev) here before calling device_unregister()? Thanks, Ranjani > + device_unregister(rtd->dev); /* soc_release_rtd_dev */ > } > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel