tree 4d1ffcfb13495e651bedd9f73d3250d83c938e31
parent 4a778bdc7afbc422bd513c4f1cd7a9faf4bebaab
author Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 1680740170 +0000
committer Mark Brown <broonie@kernel.org> 1681732645 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmQ9NCUACgkQJNaLcl1U
 h9BndQf/a6Y+/veTpg4ftdHwYPKU7D9LifNrOFt4V4+zSQWYFGhx3O0waGXsKFC9
 uY7zbZrTISAC9VnNwvWitbBHQ8PJOUimFTcN4xU+gK/CiG6DNoroNge3jqbxmcMB
 eb/4TeMntscjrcdyHgEuBvDzyMcQFQMhm05DweCT648zTaODbMfLeEtdDUCpNsHv
 d4XJATJ3tUGOPBoy4qOyFRJWMJQVd62YjcgPq4BONUbUP876yPVZuVHI2UZ0o8mk
 //acGoeoxzE0kNqKVwdoJhXykble1By+rE1Dz1SJ/WyPz/8pfWR6UyUCpL6PyhtA
 gu0KhsHeoIjK+8uH2gwi2SZi9XTrJg==
 =81bf
 -----END PGP SIGNATURE-----

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>
