diff options
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_fimd.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c index 004bf57aa026..d04d46dab362 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c | |||
@@ -185,7 +185,7 @@ struct fimd_context { | |||
185 | atomic_t win_updated; | 185 | atomic_t win_updated; |
186 | atomic_t triggering; | 186 | atomic_t triggering; |
187 | 187 | ||
188 | struct fimd_driver_data *driver_data; | 188 | const struct fimd_driver_data *driver_data; |
189 | struct drm_encoder *encoder; | 189 | struct drm_encoder *encoder; |
190 | struct exynos_drm_clk dp_clk; | 190 | struct exynos_drm_clk dp_clk; |
191 | }; | 191 | }; |
@@ -223,15 +223,6 @@ static const uint32_t fimd_formats[] = { | |||
223 | DRM_FORMAT_ARGB8888, | 223 | DRM_FORMAT_ARGB8888, |
224 | }; | 224 | }; |
225 | 225 | ||
226 | static inline struct fimd_driver_data *drm_fimd_get_driver_data( | ||
227 | struct platform_device *pdev) | ||
228 | { | ||
229 | const struct of_device_id *of_id = | ||
230 | of_match_device(fimd_driver_dt_match, &pdev->dev); | ||
231 | |||
232 | return (struct fimd_driver_data *)of_id->data; | ||
233 | } | ||
234 | |||
235 | static int fimd_enable_vblank(struct exynos_drm_crtc *crtc) | 226 | static int fimd_enable_vblank(struct exynos_drm_crtc *crtc) |
236 | { | 227 | { |
237 | struct fimd_context *ctx = crtc->ctx; | 228 | struct fimd_context *ctx = crtc->ctx; |
@@ -408,7 +399,7 @@ static void fimd_commit(struct exynos_drm_crtc *crtc) | |||
408 | { | 399 | { |
409 | struct fimd_context *ctx = crtc->ctx; | 400 | struct fimd_context *ctx = crtc->ctx; |
410 | struct drm_display_mode *mode = &crtc->base.state->adjusted_mode; | 401 | struct drm_display_mode *mode = &crtc->base.state->adjusted_mode; |
411 | struct fimd_driver_data *driver_data = ctx->driver_data; | 402 | const struct fimd_driver_data *driver_data = ctx->driver_data; |
412 | void *timing_base = ctx->regs + driver_data->timing_base; | 403 | void *timing_base = ctx->regs + driver_data->timing_base; |
413 | u32 val, clkdiv; | 404 | u32 val, clkdiv; |
414 | 405 | ||
@@ -831,7 +822,7 @@ static void fimd_disable(struct exynos_drm_crtc *crtc) | |||
831 | static void fimd_trigger(struct device *dev) | 822 | static void fimd_trigger(struct device *dev) |
832 | { | 823 | { |
833 | struct fimd_context *ctx = dev_get_drvdata(dev); | 824 | struct fimd_context *ctx = dev_get_drvdata(dev); |
834 | struct fimd_driver_data *driver_data = ctx->driver_data; | 825 | const struct fimd_driver_data *driver_data = ctx->driver_data; |
835 | void *timing_base = ctx->regs + driver_data->timing_base; | 826 | void *timing_base = ctx->regs + driver_data->timing_base; |
836 | u32 reg; | 827 | u32 reg; |
837 | 828 | ||
@@ -1034,7 +1025,7 @@ static int fimd_probe(struct platform_device *pdev) | |||
1034 | 1025 | ||
1035 | ctx->dev = dev; | 1026 | ctx->dev = dev; |
1036 | ctx->suspended = true; | 1027 | ctx->suspended = true; |
1037 | ctx->driver_data = drm_fimd_get_driver_data(pdev); | 1028 | ctx->driver_data = of_device_get_match_data(dev); |
1038 | 1029 | ||
1039 | if (of_property_read_bool(dev->of_node, "samsung,invert-vden")) | 1030 | if (of_property_read_bool(dev->of_node, "samsung,invert-vden")) |
1040 | ctx->vidcon1 |= VIDCON1_INV_VDEN; | 1031 | ctx->vidcon1 |= VIDCON1_INV_VDEN; |