Use driver internal struct as argument instead of struct exynos_drm_crtc
except functions of exynos_drm_crtc_ops and instead of struct
exynos_drm_display except functions of exynos_drm_display_ops.

It can reduce unnecessary variable declaration.

Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
---
 drivers/gpu/drm/exynos/exynos_dp_core.c  | 14 ++++-------
 drivers/gpu/drm/exynos/exynos_drm_fimd.c | 43 +++++++++++++-------------------
 drivers/gpu/drm/exynos/exynos_drm_vidi.c | 19 ++++++--------
 drivers/gpu/drm/exynos/exynos_hdmi.c     | 12 ++++-----
 drivers/gpu/drm/exynos/exynos_mixer.c    | 26 ++++++++-----------
 5 files changed, 47 insertions(+), 67 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c 
b/drivers/gpu/drm/exynos/exynos_dp_core.c
index 34d46aa..11fd893 100644
--- a/drivers/gpu/drm/exynos/exynos_dp_core.c
+++ b/drivers/gpu/drm/exynos/exynos_dp_core.c
@@ -1067,10 +1067,8 @@ static void exynos_dp_phy_exit(struct exynos_dp_device 
*dp)
                phy_power_off(dp->phy);
 }

-static void exynos_dp_poweron(struct exynos_drm_display *display)
+static void exynos_dp_poweron(struct exynos_dp_device *dp)
 {
-       struct exynos_dp_device *dp = display_to_dp(display);
-
        if (dp->dpms_mode == DRM_MODE_DPMS_ON)
                return;

@@ -1085,13 +1083,11 @@ static void exynos_dp_poweron(struct exynos_drm_display 
*display)
        exynos_dp_phy_init(dp);
        exynos_dp_init_dp(dp);
        enable_irq(dp->irq);
-       exynos_dp_commit(display);
+       exynos_dp_commit(&dp->display);
 }

-static void exynos_dp_poweroff(struct exynos_drm_display *display)
+static void exynos_dp_poweroff(struct exynos_dp_device *dp)
 {
-       struct exynos_dp_device *dp = display_to_dp(display);
-
        if (dp->dpms_mode != DRM_MODE_DPMS_ON)
                return;

@@ -1119,12 +1115,12 @@ static void exynos_dp_dpms(struct exynos_drm_display 
*display, int mode)

        switch (mode) {
        case DRM_MODE_DPMS_ON:
-               exynos_dp_poweron(display);
+               exynos_dp_poweron(dp);
                break;
        case DRM_MODE_DPMS_STANDBY:
        case DRM_MODE_DPMS_SUSPEND:
        case DRM_MODE_DPMS_OFF:
-               exynos_dp_poweroff(display);
+               exynos_dp_poweroff(dp);
                break;
        default:
                break;
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c 
b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 39f7fa7..925fc69 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -253,9 +253,8 @@ static void fimd_enable_shadow_channel_path(struct 
fimd_context *ctx, int win,
        writel(val, ctx->regs + SHADOWCON);
 }

-static void fimd_clear_channel(struct exynos_drm_crtc *crtc)
+static void fimd_clear_channel(struct fimd_context *ctx)
 {
-       struct fimd_context *ctx = crtc->ctx;
        int win, ch_enabled = 0;

        DRM_DEBUG_KMS("%s\n", __FILE__);
@@ -280,7 +279,7 @@ static void fimd_clear_channel(struct exynos_drm_crtc *crtc)
                unsigned int state = ctx->suspended;

                ctx->suspended = 0;
-               fimd_wait_for_vblank(crtc);
+               fimd_wait_for_vblank(ctx->crtc);
                ctx->suspended = state;
        }
 }
@@ -302,7 +301,7 @@ static int fimd_ctx_initialize(struct fimd_context *ctx,
                 * If any channel is already active, iommu will throw
                 * a PAGE FAULT when enabled. So clear any channel if enabled.
                 */
-               fimd_clear_channel(ctx->crtc);
+               fimd_clear_channel(ctx);
                ret = drm_iommu_attach_device(ctx->drm_dev, ctx->dev);
                if (ret) {
                        DRM_ERROR("drm_iommu_attach failed.\n");
@@ -823,9 +822,8 @@ static void fimd_win_disable(struct exynos_drm_crtc *crtc, 
int zpos)
        win_data->enabled = false;
 }

-static void fimd_window_suspend(struct exynos_drm_crtc *crtc)
+static void fimd_window_suspend(struct fimd_context *ctx)
 {
-       struct fimd_context *ctx = crtc->ctx;
        struct fimd_win_data *win_data;
        int i;

@@ -833,13 +831,12 @@ static void fimd_window_suspend(struct exynos_drm_crtc 
*crtc)
                win_data = &ctx->win_data[i];
                win_data->resume = win_data->enabled;
                if (win_data->enabled)
-                       fimd_win_disable(crtc, i);
+                       fimd_win_disable(ctx->crtc, i);
        }
 }

-static void fimd_window_resume(struct exynos_drm_crtc *crtc)
+static void fimd_window_resume(struct fimd_context *ctx)
 {
-       struct fimd_context *ctx = crtc->ctx;
        struct fimd_win_data *win_data;
        int i;

@@ -850,26 +847,24 @@ static void fimd_window_resume(struct exynos_drm_crtc 
*crtc)
        }
 }

-static void fimd_apply(struct exynos_drm_crtc *crtc)
+static void fimd_apply(struct fimd_context *ctx)
 {
-       struct fimd_context *ctx = crtc->ctx;
        struct fimd_win_data *win_data;
        int i;

        for (i = 0; i < WINDOWS_NR; i++) {
                win_data = &ctx->win_data[i];
                if (win_data->enabled)
-                       fimd_win_commit(crtc, i);
+                       fimd_win_commit(ctx->crtc, i);
                else
-                       fimd_win_disable(crtc, i);
+                       fimd_win_disable(ctx->crtc, i);
        }

-       fimd_commit(crtc);
+       fimd_commit(ctx->crtc);
 }

-static int fimd_poweron(struct exynos_drm_crtc *crtc)
+static int fimd_poweron(struct fimd_context *ctx)
 {
-       struct fimd_context *ctx = crtc->ctx;
        int ret;

        if (!ctx->suspended)
@@ -893,16 +888,16 @@ static int fimd_poweron(struct exynos_drm_crtc *crtc)

        /* if vblank was enabled status, enable it again. */
        if (test_and_clear_bit(0, &ctx->irq_flags)) {
-               ret = fimd_enable_vblank(crtc);
+               ret = fimd_enable_vblank(ctx->crtc);
                if (ret) {
                        DRM_ERROR("Failed to re-enable vblank [%d]\n", ret);
                        goto enable_vblank_err;
                }
        }

-       fimd_window_resume(crtc);
+       fimd_window_resume(ctx);

-       fimd_apply(crtc);
+       fimd_apply(ctx);

        return 0;

@@ -915,10 +910,8 @@ bus_clk_err:
        return ret;
 }

-static int fimd_poweroff(struct exynos_drm_crtc *crtc)
+static int fimd_poweroff(struct fimd_context *ctx)
 {
-       struct fimd_context *ctx = crtc->ctx;
-
        if (ctx->suspended)
                return 0;

@@ -927,7 +920,7 @@ static int fimd_poweroff(struct exynos_drm_crtc *crtc)
         * suspend that connector. Otherwise we might try to scan from
         * a destroyed buffer later.
         */
-       fimd_window_suspend(crtc);
+       fimd_window_suspend(ctx);

        clk_disable_unprepare(ctx->lcd_clk);
        clk_disable_unprepare(ctx->bus_clk);
@@ -944,12 +937,12 @@ static void fimd_dpms(struct exynos_drm_crtc *crtc, int 
mode)

        switch (mode) {
        case DRM_MODE_DPMS_ON:
-               fimd_poweron(crtc);
+               fimd_poweron(crtc->ctx);
                break;
        case DRM_MODE_DPMS_STANDBY:
        case DRM_MODE_DPMS_SUSPEND:
        case DRM_MODE_DPMS_OFF:
-               fimd_poweroff(crtc);
+               fimd_poweroff(crtc->ctx);
                break;
        default:
                DRM_DEBUG_KMS("unspecified mode %d\n", mode);
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c 
b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index fb68d3c..b886972 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
@@ -97,17 +97,16 @@ static const char fake_edid_info[] = {
        0x00, 0x00, 0x00, 0x06
 };

-static void vidi_apply(struct exynos_drm_crtc *crtc)
+static void vidi_apply(struct vidi_context *ctx)
 {
-       struct vidi_context *ctx = crtc->ctx;
-       struct exynos_drm_crtc_ops *crtc_ops = crtc->ops;
+       struct exynos_drm_crtc_ops *crtc_ops = ctx->crtc->ops;
        struct vidi_win_data *win_data;
        int i;

        for (i = 0; i < WINDOWS_NR; i++) {
                win_data = &ctx->win_data[i];
                if (win_data->enabled && (crtc_ops && crtc_ops->win_commit))
-                       crtc_ops->win_commit(crtc, i);
+                       crtc_ops->win_commit(ctx->crtc, i);
        }
 }

@@ -240,10 +239,8 @@ static void vidi_win_disable(struct exynos_drm_crtc *crtc, 
int zpos)
        /* TODO. */
 }

-static int vidi_power_on(struct exynos_drm_crtc *crtc, bool enable)
+static int vidi_power_on(struct vidi_context *ctx, bool enable)
 {
-       struct vidi_context *ctx = crtc->ctx;
-
        DRM_DEBUG_KMS("%s\n", __FILE__);

        if (enable != false && enable != true)
@@ -254,9 +251,9 @@ static int vidi_power_on(struct exynos_drm_crtc *crtc, bool 
enable)

                /* if vblank was enabled status, enable it again. */
                if (test_and_clear_bit(0, &ctx->irq_flags))
-                       vidi_enable_vblank(crtc);
+                       vidi_enable_vblank(ctx->crtc);

-               vidi_apply(crtc);
+               vidi_apply(ctx);
        } else {
                ctx->suspended = true;
        }
@@ -274,12 +271,12 @@ static void vidi_dpms(struct exynos_drm_crtc *crtc, int 
mode)

        switch (mode) {
        case DRM_MODE_DPMS_ON:
-               vidi_power_on(crtc, true);
+               vidi_power_on(ctx, true);
                break;
        case DRM_MODE_DPMS_STANDBY:
        case DRM_MODE_DPMS_SUSPEND:
        case DRM_MODE_DPMS_OFF:
-               vidi_power_on(crtc, false);
+               vidi_power_on(ctx, false);
                break;
        default:
                DRM_DEBUG_KMS("unspecified mode %d\n", mode);
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c 
b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 98051e8..229b361 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2032,9 +2032,8 @@ static void hdmi_commit(struct exynos_drm_display 
*display)
        hdmi_conf_apply(hdata);
 }

-static void hdmi_poweron(struct exynos_drm_display *display)
+static void hdmi_poweron(struct hdmi_context *hdata)
 {
-       struct hdmi_context *hdata = display_to_hdmi(display);
        struct hdmi_resources *res = &hdata->res;

        mutex_lock(&hdata->hdmi_mutex);
@@ -2060,12 +2059,11 @@ static void hdmi_poweron(struct exynos_drm_display 
*display)
        clk_prepare_enable(res->sclk_hdmi);

        hdmiphy_poweron(hdata);
-       hdmi_commit(display);
+       hdmi_commit(&hdata->display);
 }

-static void hdmi_poweroff(struct exynos_drm_display *display)
+static void hdmi_poweroff(struct hdmi_context *hdata)
 {
-       struct hdmi_context *hdata = display_to_hdmi(display);
        struct hdmi_resources *res = &hdata->res;

        mutex_lock(&hdata->hdmi_mutex);
@@ -2109,7 +2107,7 @@ static void hdmi_dpms(struct exynos_drm_display *display, 
int mode)

        switch (mode) {
        case DRM_MODE_DPMS_ON:
-               hdmi_poweron(display);
+               hdmi_poweron(hdata);
                break;
        case DRM_MODE_DPMS_STANDBY:
        case DRM_MODE_DPMS_SUSPEND:
@@ -2128,7 +2126,7 @@ static void hdmi_dpms(struct exynos_drm_display *display, 
int mode)
                if (funcs && funcs->dpms)
                        (*funcs->dpms)(crtc, mode);

-               hdmi_poweroff(display);
+               hdmi_poweroff(hdata);
                break;
        default:
                DRM_DEBUG_KMS("unknown dpms mode: %d\n", mode);
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c 
b/drivers/gpu/drm/exynos/exynos_mixer.c
index a3a5db3..39d37d6 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -1054,23 +1054,21 @@ static void mixer_wait_for_vblank(struct 
exynos_drm_crtc *crtc)
        drm_vblank_put(mixer_ctx->drm_dev, mixer_ctx->pipe);
 }

-static void mixer_window_suspend(struct exynos_drm_crtc *crtc)
+static void mixer_window_suspend(struct mixer_context *ctx)
 {
-       struct mixer_context *ctx = crtc->ctx;
        struct hdmi_win_data *win_data;
        int i;

        for (i = 0; i < MIXER_WIN_NR; i++) {
                win_data = &ctx->win_data[i];
                win_data->resume = win_data->enabled;
-               mixer_win_disable(crtc, i);
+               mixer_win_disable(ctx->crtc, i);
        }
-       mixer_wait_for_vblank(crtc);
+       mixer_wait_for_vblank(ctx->crtc);
 }

-static void mixer_window_resume(struct exynos_drm_crtc *crtc)
+static void mixer_window_resume(struct mixer_context *ctx)
 {
-       struct mixer_context *ctx = crtc->ctx;
        struct hdmi_win_data *win_data;
        int i;

@@ -1079,13 +1077,12 @@ static void mixer_window_resume(struct exynos_drm_crtc 
*crtc)
                win_data->enabled = win_data->resume;
                win_data->resume = false;
                if (win_data->enabled)
-                       mixer_win_commit(crtc, i);
+                       mixer_win_commit(ctx->crtc, i);
        }
 }

-static void mixer_poweron(struct exynos_drm_crtc *crtc)
+static void mixer_poweron(struct mixer_context *ctx)
 {
-       struct mixer_context *ctx = crtc->ctx;
        struct mixer_resources *res = &ctx->mixer_res;

        mutex_lock(&ctx->mixer_mutex);
@@ -1115,12 +1112,11 @@ static void mixer_poweron(struct exynos_drm_crtc *crtc)
        mixer_reg_write(res, MXR_INT_EN, ctx->int_en);
        mixer_win_reset(ctx);

-       mixer_window_resume(crtc);
+       mixer_window_resume(ctx);
 }

-static void mixer_poweroff(struct exynos_drm_crtc *crtc)
+static void mixer_poweroff(struct mixer_context *ctx)
 {
-       struct mixer_context *ctx = crtc->ctx;
        struct mixer_resources *res = &ctx->mixer_res;

        mutex_lock(&ctx->mixer_mutex);
@@ -1131,7 +1127,7 @@ static void mixer_poweroff(struct exynos_drm_crtc *crtc)
        mutex_unlock(&ctx->mixer_mutex);

        mixer_stop(ctx);
-       mixer_window_suspend(crtc);
+       mixer_window_suspend(ctx);

        ctx->int_en = mixer_reg_read(res, MXR_INT_EN);

@@ -1154,12 +1150,12 @@ static void mixer_dpms(struct exynos_drm_crtc *crtc, 
int mode)
 {
        switch (mode) {
        case DRM_MODE_DPMS_ON:
-               mixer_poweron(crtc);
+               mixer_poweron(crtc->ctx);
                break;
        case DRM_MODE_DPMS_STANDBY:
        case DRM_MODE_DPMS_SUSPEND:
        case DRM_MODE_DPMS_OFF:
-               mixer_poweroff(crtc);
+               mixer_poweroff(crtc->ctx);
                break;
        default:
                DRM_DEBUG_KMS("unknown dpms mode: %d\n", mode);
-- 
1.9.1

Reply via email to