ASoC: soc-core: remove snd_soc_disconnect_sync()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 10 Dec 2019 00:33:50 +0000 (09:33 +0900)
committerMark Brown <broonie@kernel.org>
Tue, 10 Dec 2019 13:14:16 +0000 (13:14 +0000)
Sound card disconnecting operation was needed when "sound driver" was
unbinded without unbinding "sound card".
In such case, sound driver should be stopped even though it was
playbacking/capturing. Otherwise clock open/close counter mismatch happen.

One headache was that we can't skip unbind in error case because unbind
operation doesn't check return value from each drivers.
snd_soc_disconnect_sync() was added for these purpose, and Renesas
sound card only is used it.

But now, ALSA SoC automatically disconnect sound card when sound driver
was unbinded. Thus, snd_soc_disconnect_sync() is no longer needed.
This patch removes it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/87eexdyq6p.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/core.c
sound/soc/soc-core.c

index d20f03d..6aac250 100644 (file)
@@ -1819,8 +1819,6 @@ static int rsnd_remove(struct platform_device *pdev)
        };
        int ret = 0, i;
 
-       snd_soc_disconnect_sync(&pdev->dev);
-
        pm_runtime_disable(&pdev->dev);
 
        for_each_rsnd_dai(rdai, priv, i) {
index 9483bfe..0d436a2 100644 (file)
@@ -1444,18 +1444,6 @@ static int soc_probe_link_components(struct snd_soc_card *card)
        return 0;
 }
 
-void snd_soc_disconnect_sync(struct device *dev)
-{
-       struct snd_soc_component *component =
-                       snd_soc_lookup_component(dev, NULL);
-
-       if (!component || !component->card)
-               return;
-
-       snd_card_disconnect_sync(component->card->snd_card);
-}
-EXPORT_SYMBOL_GPL(snd_soc_disconnect_sync);
-
 static int soc_link_dai_pcm_new(struct snd_soc_dai **dais, int num_dais,
                                struct snd_soc_pcm_runtime *rtd)
 {