summaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-10 23:03:57 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-10 23:03:56 -0700
commitabb1d6bee641b1c711d9179850b3343a2ea55190 (patch)
tree7247b5b4c822b8645207393e5f8b680cc40caad5 /drivers/platform
parent4952fa00375232217890ec1536c23e7677029cad (diff)
parentc74b2c0e58562e35883ebba0f6edf969279d7233 (diff)
Merge "drm/msm: notify hpd status when audio codec is ready"
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/msm/msm_ext_display.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/platform/msm/msm_ext_display.c b/drivers/platform/msm/msm_ext_display.c
index 6f9a13040cd5..c7c1b1567bf3 100644
--- a/drivers/platform/msm/msm_ext_display.c
+++ b/drivers/platform/msm/msm_ext_display.c
@@ -654,6 +654,7 @@ int msm_ext_disp_register_audio_codec(struct platform_device *pdev,
{
int ret = 0;
struct msm_ext_disp *ext_disp = NULL;
+ struct msm_ext_disp_list *node = NULL;
if (!pdev || !ops) {
pr_err("Invalid params\n");
@@ -671,17 +672,23 @@ int msm_ext_disp_register_audio_codec(struct platform_device *pdev,
if ((ext_disp->current_disp != EXT_DISPLAY_TYPE_MAX)
&& ext_disp->ops) {
pr_err("Codec already registered\n");
- ret = -EINVAL;
- goto end;
+ mutex_unlock(&ext_disp->lock);
+ return -EINVAL;
}
ext_disp->ops = ops;
- pr_debug("audio codec registered\n");
-
-end:
mutex_unlock(&ext_disp->lock);
+ list_for_each_entry(node, &ext_disp->display_list, list) {
+ struct msm_ext_disp_init_data *data = node->data;
+
+ if (data->codec_ops.codec_ready)
+ data->codec_ops.codec_ready(data->pdev);
+ }
+
+ pr_debug("audio codec registered\n");
+
return ret;
}