diff options
Diffstat (limited to 'drivers/gpu/drm/msm/hdmi/hdmi.c')
-rw-r--r-- | drivers/gpu/drm/msm/hdmi/hdmi.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c index 6f1588aa9071..6048b6b2a8c7 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c | |||
@@ -67,6 +67,8 @@ void hdmi_destroy(struct kref *kref) | |||
67 | if (hdmi->i2c) | 67 | if (hdmi->i2c) |
68 | hdmi_i2c_destroy(hdmi->i2c); | 68 | hdmi_i2c_destroy(hdmi->i2c); |
69 | 69 | ||
70 | platform_set_drvdata(hdmi->pdev, NULL); | ||
71 | |||
70 | put_device(&hdmi->pdev->dev); | 72 | put_device(&hdmi->pdev->dev); |
71 | } | 73 | } |
72 | 74 | ||
@@ -102,6 +104,8 @@ struct hdmi *hdmi_init(struct drm_device *dev, struct drm_encoder *encoder) | |||
102 | hdmi->config = config; | 104 | hdmi->config = config; |
103 | hdmi->encoder = encoder; | 105 | hdmi->encoder = encoder; |
104 | 106 | ||
107 | hdmi_audio_infoframe_init(&hdmi->audio.infoframe); | ||
108 | |||
105 | /* not sure about which phy maps to which msm.. probably I miss some */ | 109 | /* not sure about which phy maps to which msm.. probably I miss some */ |
106 | if (config->phy_init) | 110 | if (config->phy_init) |
107 | hdmi->phy = config->phy_init(hdmi); | 111 | hdmi->phy = config->phy_init(hdmi); |
@@ -228,6 +232,8 @@ struct hdmi *hdmi_init(struct drm_device *dev, struct drm_encoder *encoder) | |||
228 | priv->bridges[priv->num_bridges++] = hdmi->bridge; | 232 | priv->bridges[priv->num_bridges++] = hdmi->bridge; |
229 | priv->connectors[priv->num_connectors++] = hdmi->connector; | 233 | priv->connectors[priv->num_connectors++] = hdmi->connector; |
230 | 234 | ||
235 | platform_set_drvdata(pdev, hdmi); | ||
236 | |||
231 | return hdmi; | 237 | return hdmi; |
232 | 238 | ||
233 | fail: | 239 | fail: |
@@ -305,7 +311,7 @@ static int hdmi_dev_probe(struct platform_device *pdev) | |||
305 | config.ddc_data_gpio = 71; | 311 | config.ddc_data_gpio = 71; |
306 | config.hpd_gpio = 72; | 312 | config.hpd_gpio = 72; |
307 | config.mux_en_gpio = -1; | 313 | config.mux_en_gpio = -1; |
308 | config.mux_sel_gpio = 13 + NR_GPIO_IRQS; | 314 | config.mux_sel_gpio = -1; |
309 | } else if (cpu_is_msm8960() || cpu_is_msm8960ab()) { | 315 | } else if (cpu_is_msm8960() || cpu_is_msm8960ab()) { |
310 | static const char *hpd_reg_names[] = {"8921_hdmi_mvs"}; | 316 | static const char *hpd_reg_names[] = {"8921_hdmi_mvs"}; |
311 | config.phy_init = hdmi_phy_8960_init; | 317 | config.phy_init = hdmi_phy_8960_init; |