ASoC: soc-core: remove duplicate pinctrl operation when suspend
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 10 Jan 2020 02:36:07 +0000 (11:36 +0900)
committerMark Brown <broonie@kernel.org>
Fri, 10 Jan 2020 13:32:50 +0000 (13:32 +0000)
snd_soc_suspend() are doing below for pinctrl_pm_select_sleep_state()

int snd_soc_suspend(struct device *dev)
{
...
for_each_card_components(card, component) {
...
(1) pinctrl_pm_select_sleep_state(component->dev);
}

for_each_card_rtds(card, rtd) {
...
(2) pinctrl_pm_select_sleep_state(cpu_dai->dev);
}
}

(1) is called for all component (CPU/Codec/Platform), and
(2) is called for CPU DAIs.
Here, component->dev is same as dai->dev.
This means, it is called in duplicate on CPU case.
This patch removes (2).

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-By: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/875zhkt4vc.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index 8a1b4ff..191b687 100644 (file)
@@ -619,9 +619,6 @@ int snd_soc_suspend(struct device *dev)
 
                if (cpu_dai->driver->bus_control)
                        snd_soc_dai_suspend(cpu_dai);
-
-               /* deactivate pins to sleep state */
-               pinctrl_pm_select_sleep_state(cpu_dai->dev);
        }
 
        if (card->suspend_post)