summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/hdac_hdmi.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2019-07-06 12:25:26 +0100
committerMark Brown <broonie@kernel.org>2019-07-06 12:25:26 +0100
commit043b35f281f5f141e7a928d27492133ef33b8119 (patch)
tree30a9598866d6b8d44ee6b3fe88506881f23e0203 /sound/soc/codecs/hdac_hdmi.c
parent0dceaf7c798de953c74073cc77be40b7be49abbc (diff)
parent87a6fe80d56be85bda093c4dd8a3e6535bda7e4a (diff)
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.c8
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);