Re: [PATCH 09/13] ASoC: soc-core: use devm_kzalloc() for rtd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux