drm/exynos: fimd: Hold pointer to driver data in context struct
authorTomasz Figa <tomasz.figa@gmail.com>
Wed, 1 May 2013 19:02:26 +0000 (21:02 +0200)
committerInki Dae <daeinki@gmail.com>
Fri, 28 Jun 2013 12:12:51 +0000 (21:12 +0900)
This patch adds pointer to driver data to fimd_context structure, to
remove the need to call drm_fimd_get_driver_data() each time access to
driver data is necessary.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Acked-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_fimd.c

index 279c3f8c3d4e15a1aa48871a0f9fe70557a9c6f9..de3367078cf8fdc8ea327fe92a2935901ab33d82 100644 (file)
@@ -107,6 +107,7 @@ struct fimd_context {
        atomic_t                        wait_vsync_event;
 
        struct exynos_drm_panel_info *panel;
+       struct fimd_driver_data *driver_data;
 };
 
 #ifdef CONFIG_OF
@@ -239,10 +240,9 @@ static void fimd_commit(struct device *dev)
        struct exynos_drm_panel_info *panel = ctx->panel;
        struct fb_videomode *timing = &panel->timing;
        struct fimd_driver_data *driver_data;
-       struct platform_device *pdev = to_platform_device(dev);
        u32 val;
 
-       driver_data = drm_fimd_get_driver_data(pdev);
+       driver_data = ctx->driver_data;
        if (ctx->suspended)
                return;
 
@@ -949,6 +949,7 @@ static int fimd_probe(struct platform_device *pdev)
                return ret;
        }
 
+       ctx->driver_data = drm_fimd_get_driver_data(pdev);
        ctx->vidcon0 = pdata->vidcon0;
        ctx->vidcon1 = pdata->vidcon1;
        ctx->default_win = pdata->default_win;