ASoC: hdac_hda: allow runtime pm at end of probe
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Wed, 30 Sep 2020 11:41:40 +0000 (14:41 +0300)
committerTakashi Iwai <tiwai@suse.de>
Wed, 30 Sep 2020 14:53:23 +0000 (16:53 +0200)
Align with recent change to forbid runtime suspend during codec
init in snd_hda_codec_device_new(), with matching call to
allow suspend at end of hdac_hda_codec_probe().

In snd-hda-intel, call to snd_hda_set_power_save() at end of
controller probe does the same thing, but ASoC controller drivers
do not modify runtime settings for codecs, so this has to be done
in codec drivers, and in this case in hdac_hda.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20200930114140.3839617-3-kai.vehmanen@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/soc/codecs/hdac_hda.c

index 49e6f23..390dd6c 100644 (file)
@@ -481,6 +481,9 @@ static int hdac_hda_codec_probe(struct snd_soc_component *component)
                snd_hdac_display_power(hdev->bus,
                                       HDA_CODEC_IDX_CONTROLLER, false);
 
+       /* match for forbid call in snd_hda_codec_device_new() */
+       pm_runtime_allow(&hdev->dev);
+
        /*
         * hdac_device core already sets the state to active and calls
         * get_noresume. So enable runtime and set the device to suspend.