diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-05-10 23:03:57 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-05-10 23:03:56 -0700 |
| commit | abb1d6bee641b1c711d9179850b3343a2ea55190 (patch) | |
| tree | 7247b5b4c822b8645207393e5f8b680cc40caad5 /drivers/platform | |
| parent | 4952fa00375232217890ec1536c23e7677029cad (diff) | |
| parent | c74b2c0e58562e35883ebba0f6edf969279d7233 (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.c | 17 |
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; } |
