mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-16 17:43:56 +08:00
ASoC: soc-core: merge snd_soc_remove_dai_link() and soc_unbind_dai_link()
We don't need to separete snd_soc_remove_dai_link() and soc_unbind_dai_link() anymore. Let's merge these. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87pni5hkx1.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
63dc47da1f
commit
da704f26ba
@ -1049,15 +1049,36 @@ static int soc_dai_link_sanity_check(struct snd_soc_card *card,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void soc_unbind_dai_link(struct snd_soc_card *card,
|
||||
struct snd_soc_dai_link *dai_link)
|
||||
/**
|
||||
* snd_soc_remove_dai_link - Remove a DAI link from the list
|
||||
* @card: The ASoC card that owns the link
|
||||
* @dai_link: The DAI link to remove
|
||||
*
|
||||
* This function removes a DAI link from the ASoC card's link list.
|
||||
*
|
||||
* For DAI links previously added by topology, topology should
|
||||
* remove them by using the dobj embedded in the link.
|
||||
*/
|
||||
void snd_soc_remove_dai_link(struct snd_soc_card *card,
|
||||
struct snd_soc_dai_link *dai_link)
|
||||
{
|
||||
struct snd_soc_pcm_runtime *rtd;
|
||||
|
||||
lockdep_assert_held(&client_mutex);
|
||||
|
||||
/*
|
||||
* Notify the machine driver for extra destruction
|
||||
*/
|
||||
if (card->remove_dai_link)
|
||||
card->remove_dai_link(card, dai_link);
|
||||
|
||||
list_del(&dai_link->list);
|
||||
|
||||
rtd = snd_soc_get_pcm_runtime(card, dai_link->name);
|
||||
if (rtd)
|
||||
soc_free_pcm_runtime(rtd);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_remove_dai_link);
|
||||
|
||||
/**
|
||||
* snd_soc_add_dai_link - Add a DAI link dynamically
|
||||
@ -1434,33 +1455,6 @@ void snd_soc_disconnect_sync(struct device *dev)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_disconnect_sync);
|
||||
|
||||
/**
|
||||
* snd_soc_remove_dai_link - Remove a DAI link from the list
|
||||
* @card: The ASoC card that owns the link
|
||||
* @dai_link: The DAI link to remove
|
||||
*
|
||||
* This function removes a DAI link from the ASoC card's link list.
|
||||
*
|
||||
* For DAI links previously added by topology, topology should
|
||||
* remove them by using the dobj embedded in the link.
|
||||
*/
|
||||
void snd_soc_remove_dai_link(struct snd_soc_card *card,
|
||||
struct snd_soc_dai_link *dai_link)
|
||||
{
|
||||
lockdep_assert_held(&client_mutex);
|
||||
|
||||
/*
|
||||
* Notify the machine driver for extra destruction
|
||||
*/
|
||||
if (card->remove_dai_link)
|
||||
card->remove_dai_link(card, dai_link);
|
||||
|
||||
list_del(&dai_link->list);
|
||||
|
||||
soc_unbind_dai_link(card, dai_link);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_remove_dai_link);
|
||||
|
||||
static int soc_link_dai_pcm_new(struct snd_soc_dai **dais, int num_dais,
|
||||
struct snd_soc_pcm_runtime *rtd)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user