Преглед изворни кода

drm/exynos: fimd: use generic of_device_get_match_data helper

Simplify code by replacing custom code by generic helper.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Marek Szyprowski пре 9 година
родитељ
комит
e1a7b9b40d
1 измењених фајлова са 4 додато и 13 уклоњено
  1. 4 13
      drivers/gpu/drm/exynos/exynos_drm_fimd.c

+ 4 - 13
drivers/gpu/drm/exynos/exynos_drm_fimd.c

@@ -185,7 +185,7 @@ struct fimd_context {
 	atomic_t			win_updated;
 	atomic_t			win_updated;
 	atomic_t			triggering;
 	atomic_t			triggering;
 
 
-	struct fimd_driver_data *driver_data;
+	const struct fimd_driver_data *driver_data;
 	struct drm_encoder *encoder;
 	struct drm_encoder *encoder;
 	struct exynos_drm_clk		dp_clk;
 	struct exynos_drm_clk		dp_clk;
 };
 };
@@ -223,15 +223,6 @@ static const uint32_t fimd_formats[] = {
 	DRM_FORMAT_ARGB8888,
 	DRM_FORMAT_ARGB8888,
 };
 };
 
 
-static inline struct fimd_driver_data *drm_fimd_get_driver_data(
-	struct platform_device *pdev)
-{
-	const struct of_device_id *of_id =
-			of_match_device(fimd_driver_dt_match, &pdev->dev);
-
-	return (struct fimd_driver_data *)of_id->data;
-}
-
 static int fimd_enable_vblank(struct exynos_drm_crtc *crtc)
 static int fimd_enable_vblank(struct exynos_drm_crtc *crtc)
 {
 {
 	struct fimd_context *ctx = crtc->ctx;
 	struct fimd_context *ctx = crtc->ctx;
@@ -408,7 +399,7 @@ static void fimd_commit(struct exynos_drm_crtc *crtc)
 {
 {
 	struct fimd_context *ctx = crtc->ctx;
 	struct fimd_context *ctx = crtc->ctx;
 	struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
 	struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
-	struct fimd_driver_data *driver_data = ctx->driver_data;
+	const struct fimd_driver_data *driver_data = ctx->driver_data;
 	void *timing_base = ctx->regs + driver_data->timing_base;
 	void *timing_base = ctx->regs + driver_data->timing_base;
 	u32 val, clkdiv;
 	u32 val, clkdiv;
 
 
@@ -831,7 +822,7 @@ static void fimd_disable(struct exynos_drm_crtc *crtc)
 static void fimd_trigger(struct device *dev)
 static void fimd_trigger(struct device *dev)
 {
 {
 	struct fimd_context *ctx = dev_get_drvdata(dev);
 	struct fimd_context *ctx = dev_get_drvdata(dev);
-	struct fimd_driver_data *driver_data = ctx->driver_data;
+	const struct fimd_driver_data *driver_data = ctx->driver_data;
 	void *timing_base = ctx->regs + driver_data->timing_base;
 	void *timing_base = ctx->regs + driver_data->timing_base;
 	u32 reg;
 	u32 reg;
 
 
@@ -1034,7 +1025,7 @@ static int fimd_probe(struct platform_device *pdev)
 
 
 	ctx->dev = dev;
 	ctx->dev = dev;
 	ctx->suspended = true;
 	ctx->suspended = true;
-	ctx->driver_data = drm_fimd_get_driver_data(pdev);
+	ctx->driver_data = of_device_get_match_data(dev);
 
 
 	if (of_property_read_bool(dev->of_node, "samsung,invert-vden"))
 	if (of_property_read_bool(dev->of_node, "samsung,invert-vden"))
 		ctx->vidcon1 |= VIDCON1_INV_VDEN;
 		ctx->vidcon1 |= VIDCON1_INV_VDEN;