aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_hdmi.c
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2012-04-05 07:49:27 -0400
committerInki Dae <inki.dae@samsung.com>2012-04-12 01:51:27 -0400
commit677e84c1b5c8533ea351a9556308071ca47a1eb2 (patch)
tree38ab6a72f214433ef294403b6c5cdb3dd25afb0a /drivers/gpu/drm/exynos/exynos_drm_hdmi.c
parent578b6065adc8805a8774e4bf3145e18de123f8b2 (diff)
drm/exynos: fix to pointer manager member of struct exynos_drm_subdrv
The struct exynos_drm_manager has to exist for exynos drm sub driver using encoder and connector. If it isn't NULL to member of struct exynos_drm_subdrv, will create encoder and connector else will not. And the is_local member also doesn't need. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_hdmi.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_hdmi.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_hdmi.c b/drivers/gpu/drm/exynos/exynos_drm_hdmi.c
index 348048b766a9..3424463676e0 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_hdmi.c
@@ -117,7 +117,7 @@ static int drm_hdmi_enable_vblank(struct device *subdrv_dev)
117{ 117{
118 struct drm_hdmi_context *ctx = to_context(subdrv_dev); 118 struct drm_hdmi_context *ctx = to_context(subdrv_dev);
119 struct exynos_drm_subdrv *subdrv = &ctx->subdrv; 119 struct exynos_drm_subdrv *subdrv = &ctx->subdrv;
120 struct exynos_drm_manager *manager = &subdrv->manager; 120 struct exynos_drm_manager *manager = subdrv->manager;
121 121
122 DRM_DEBUG_KMS("%s\n", __FILE__); 122 DRM_DEBUG_KMS("%s\n", __FILE__);
123 123
@@ -251,6 +251,12 @@ static struct exynos_drm_overlay_ops drm_hdmi_overlay_ops = {
251 .disable = drm_mixer_disable, 251 .disable = drm_mixer_disable,
252}; 252};
253 253
254static struct exynos_drm_manager hdmi_manager = {
255 .pipe = -1,
256 .ops = &drm_hdmi_manager_ops,
257 .overlay_ops = &drm_hdmi_overlay_ops,
258 .display_ops = &drm_hdmi_display_ops,
259};
254 260
255static int hdmi_subdrv_probe(struct drm_device *drm_dev, 261static int hdmi_subdrv_probe(struct drm_device *drm_dev,
256 struct device *dev) 262 struct device *dev)
@@ -318,12 +324,9 @@ static int __devinit exynos_drm_hdmi_probe(struct platform_device *pdev)
318 324
319 subdrv = &ctx->subdrv; 325 subdrv = &ctx->subdrv;
320 326
327 subdrv->dev = dev;
328 subdrv->manager = &hdmi_manager;
321 subdrv->probe = hdmi_subdrv_probe; 329 subdrv->probe = hdmi_subdrv_probe;
322 subdrv->manager.pipe = -1;
323 subdrv->manager.ops = &drm_hdmi_manager_ops;
324 subdrv->manager.overlay_ops = &drm_hdmi_overlay_ops;
325 subdrv->manager.display_ops = &drm_hdmi_display_ops;
326 subdrv->manager.dev = dev;
327 330
328 platform_set_drvdata(pdev, subdrv); 331 platform_set_drvdata(pdev, subdrv);
329 332