diff options
author | Mark Brown <broonie@kernel.org> | 2019-07-06 13:25:26 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-07-06 13:25:26 +0200 |
commit | 043b35f281f5f141e7a928d27492133ef33b8119 (patch) | |
tree | 30a9598866d6b8d44ee6b3fe88506881f23e0203 /sound/soc/codecs/hdac_hdmi.c | |
parent | Merge branch 'asoc-5.2' into asoc-linus (diff) | |
parent | ASoC: SOF: Intel: implement runtime idle for CNL/APL (diff) | |
download | linux-043b35f281f5f141e7a928d27492133ef33b8119.tar.xz linux-043b35f281f5f141e7a928d27492133ef33b8119.zip |
Merge branch 'asoc-5.3' into asoc-next
Diffstat (limited to 'sound/soc/codecs/hdac_hdmi.c')
-rw-r--r-- | sound/soc/codecs/hdac_hdmi.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c index 911bb6e2a1ac..2d3f58aa01c8 100644 --- a/sound/soc/codecs/hdac_hdmi.c +++ b/sound/soc/codecs/hdac_hdmi.c @@ -1890,6 +1890,12 @@ static void hdmi_codec_remove(struct snd_soc_component *component) { struct hdac_hdmi_priv *hdmi = snd_soc_component_get_drvdata(component); struct hdac_device *hdev = hdmi->hdev; + int ret; + + ret = snd_hdac_acomp_register_notifier(hdev->bus, NULL); + if (ret < 0) + dev_err(&hdev->dev, "notifier unregister failed: err: %d\n", + ret); pm_runtime_disable(&hdev->dev); } @@ -2113,6 +2119,7 @@ static int hdac_hdmi_runtime_suspend(struct device *dev) return -EIO; } + snd_hdac_codec_link_down(hdev); snd_hdac_ext_bus_link_put(bus, hlink); snd_hdac_display_power(bus, hdev->addr, false); @@ -2139,6 +2146,7 @@ static int hdac_hdmi_runtime_resume(struct device *dev) } snd_hdac_ext_bus_link_get(bus, hlink); + snd_hdac_codec_link_up(hdev); snd_hdac_display_power(bus, hdev->addr, true); |