ASoC: expand snd_soc_dpcm_mutex_lock/unlock()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 6 Apr 2023 00:16:10 +0000 (00:16 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 17 Apr 2023 11:57:25 +0000 (12:57 +0100)
commit38e42f6d6c6702bbfc633fce9b579fb80cec2d59
tree4d1ffcfb13495e651bedd9f73d3250d83c938e31
parent4a778bdc7afbc422bd513c4f1cd7a9faf4bebaab
ASoC: expand snd_soc_dpcm_mutex_lock/unlock()

soc-pcm.c has snd_soc_dpcm_mutex_lock/unlock(),
but other files can't use it because it is static function.

It requests snd_soc_pcm_runtime as parameter (A), but sometimes we
want to use it by snd_soc_card (B).

(A) static inline void snd_soc_dpcm_mutex_lock(struct snd_soc_pcm_runtime *rtd)
{
mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass);
}    ^^^^^^^^^

(B) mutex_lock_nested(&card->pcm_mutex, card->pcm_subclass);
   ^^^^

We want to use it with both "rtd" and "card" for dapm lock/unlock.
To enable it, this patch uses _Generic macro.

This patch makes snd_soc_dpcm_mutex_{un}lock() global function, and use it on
each files.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87bkk1x3ud.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc.h
sound/soc/soc-component.c
sound/soc/soc-compress.c
sound/soc/soc-core.c
sound/soc/soc-pcm.c