Commit 0671fd8e authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: Add soc_remove_dai_links



card->num_rtd should be 0 after soc_romve_dai_link

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: default avatarLiam Girdwood <lrg@ti.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent b8eeee68
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -1453,6 +1453,16 @@ static void soc_remove_dai_link(struct snd_soc_card *card, int num)
	}
}

static void soc_remove_dai_links(struct snd_soc_card *card)
{
	int i;

	for (i = 0; i < card->num_rtd; i++)
		soc_remove_dai_link(card, i);

	card->num_rtd = 0;
}

static void soc_set_name_prefix(struct snd_soc_card *card,
				struct snd_soc_codec *codec)
{
@@ -1960,8 +1970,7 @@ probe_aux_dev_err:
		soc_remove_aux_dev(card, i);

probe_dai_err:
	for (i = 0; i < card->num_links; i++)
		soc_remove_dai_link(card, i);
	soc_remove_dai_links(card);

card_probe_error:
	if (card->remove)
@@ -2023,8 +2032,7 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
		soc_remove_aux_dev(card, i);

	/* remove and free each DAI */
	for (i = 0; i < card->num_rtd; i++)
		soc_remove_dai_link(card, i);
	soc_remove_dai_links(card);

	soc_cleanup_card_debugfs(card);