drm/exynos: split display's .dpms() into .enable() and .disable()
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Tue, 11 Aug 2015 00:37:04 +0000 (21:37 -0300)
committerInki Dae <inki.dae@samsung.com>
Sun, 16 Aug 2015 01:23:36 +0000 (10:23 +0900)
The DRM Core doesn't have a dpms() operation anymore, everything
now is enable() or disable().

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_dp_core.c
drivers/gpu/drm/exynos/exynos_drm_dpi.c
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_dsi.c
drivers/gpu/drm/exynos/exynos_drm_encoder.c
drivers/gpu/drm/exynos/exynos_hdmi.c

index 172b800..ef24952 100644 (file)
@@ -1066,8 +1066,9 @@ static void exynos_dp_phy_exit(struct exynos_dp_device *dp)
                phy_power_off(dp->phy);
 }
 
-static void exynos_dp_poweron(struct exynos_dp_device *dp)
+static void exynos_dp_enable(struct exynos_drm_display *display)
 {
+       struct exynos_dp_device *dp = display_to_dp(display);
        struct exynos_drm_crtc *crtc = dp_to_crtc(dp);
 
        if (dp->dpms_mode == DRM_MODE_DPMS_ON)
@@ -1088,10 +1089,13 @@ static void exynos_dp_poweron(struct exynos_dp_device *dp)
        exynos_dp_init_dp(dp);
        enable_irq(dp->irq);
        exynos_dp_commit(&dp->display);
+
+       dp->dpms_mode = DRM_MODE_DPMS_ON;
 }
 
-static void exynos_dp_poweroff(struct exynos_dp_device *dp)
+static void exynos_dp_disable(struct exynos_drm_display *display)
 {
+       struct exynos_dp_device *dp = display_to_dp(display);
        struct exynos_drm_crtc *crtc = dp_to_crtc(dp);
 
        if (dp->dpms_mode != DRM_MODE_DPMS_ON)
@@ -1116,30 +1120,14 @@ static void exynos_dp_poweroff(struct exynos_dp_device *dp)
                if (drm_panel_unprepare(dp->panel))
                        DRM_ERROR("failed to turnoff the panel\n");
        }
-}
-
-static void exynos_dp_dpms(struct exynos_drm_display *display, int mode)
-{
-       struct exynos_dp_device *dp = display_to_dp(display);
 
-       switch (mode) {
-       case DRM_MODE_DPMS_ON:
-               exynos_dp_poweron(dp);
-               break;
-       case DRM_MODE_DPMS_STANDBY:
-       case DRM_MODE_DPMS_SUSPEND:
-       case DRM_MODE_DPMS_OFF:
-               exynos_dp_poweroff(dp);
-               break;
-       default:
-               break;
-       }
-       dp->dpms_mode = mode;
+       dp->dpms_mode = DRM_MODE_DPMS_OFF;
 }
 
 static struct exynos_drm_display_ops exynos_dp_display_ops = {
        .create_connector = exynos_dp_create_connector,
-       .dpms = exynos_dp_dpms,
+       .enable = exynos_dp_enable,
+       .disable = exynos_dp_disable,
        .commit = exynos_dp_commit,
 };
 
@@ -1319,7 +1307,7 @@ static void exynos_dp_unbind(struct device *dev, struct device *master,
 {
        struct exynos_dp_device *dp = dev_get_drvdata(dev);
 
-       exynos_dp_dpms(&dp->display, DRM_MODE_DPMS_OFF);
+       exynos_dp_disable(&dp->display);
 }
 
 static const struct component_ops exynos_dp_ops = {
@@ -1377,7 +1365,7 @@ static int exynos_dp_suspend(struct device *dev)
 {
        struct exynos_dp_device *dp = dev_get_drvdata(dev);
 
-       exynos_dp_dpms(&dp->display, DRM_MODE_DPMS_OFF);
+       exynos_dp_disable(&dp->display);
        return 0;
 }
 
@@ -1385,7 +1373,7 @@ static int exynos_dp_resume(struct device *dev)
 {
        struct exynos_dp_device *dp = dev_get_drvdata(dev);
 
-       exynos_dp_dpms(&dp->display, DRM_MODE_DPMS_ON);
+       exynos_dp_enable(&dp->display);
        return 0;
 }
 #endif
index 7cb6595..e042670 100644 (file)
@@ -32,7 +32,6 @@ struct exynos_dpi {
        struct drm_encoder *encoder;
 
        struct videomode *vm;
-       int dpms_mode;
 };
 
 #define connector_to_dpi(c) container_of(c, struct exynos_dpi, connector)
@@ -133,46 +132,30 @@ static int exynos_dpi_create_connector(struct exynos_drm_display *display,
        return 0;
 }
 
-static void exynos_dpi_poweron(struct exynos_dpi *ctx)
+static void exynos_dpi_enable(struct exynos_drm_display *display)
 {
+       struct exynos_dpi *ctx = display_to_dpi(display);
+
        if (ctx->panel) {
                drm_panel_prepare(ctx->panel);
                drm_panel_enable(ctx->panel);
        }
 }
 
-static void exynos_dpi_poweroff(struct exynos_dpi *ctx)
+static void exynos_dpi_disable(struct exynos_drm_display *display)
 {
+       struct exynos_dpi *ctx = display_to_dpi(display);
+
        if (ctx->panel) {
                drm_panel_disable(ctx->panel);
                drm_panel_unprepare(ctx->panel);
        }
 }
 
-static void exynos_dpi_dpms(struct exynos_drm_display *display, int mode)
-{
-       struct exynos_dpi *ctx = display_to_dpi(display);
-
-       switch (mode) {
-       case DRM_MODE_DPMS_ON:
-               if (ctx->dpms_mode != DRM_MODE_DPMS_ON)
-                               exynos_dpi_poweron(ctx);
-                       break;
-       case DRM_MODE_DPMS_STANDBY:
-       case DRM_MODE_DPMS_SUSPEND:
-       case DRM_MODE_DPMS_OFF:
-               if (ctx->dpms_mode == DRM_MODE_DPMS_ON)
-                       exynos_dpi_poweroff(ctx);
-               break;
-       default:
-               break;
-       }
-       ctx->dpms_mode = mode;
-}
-
 static struct exynos_drm_display_ops exynos_dpi_display_ops = {
        .create_connector = exynos_dpi_create_connector,
-       .dpms = exynos_dpi_dpms
+       .enable = exynos_dpi_enable,
+       .disable = exynos_dpi_disable,
 };
 
 /* of_* functions will be removed after merge of of_graph patches */
@@ -311,7 +294,6 @@ struct exynos_drm_display *exynos_dpi_probe(struct device *dev)
        ctx->display.type = EXYNOS_DISPLAY_TYPE_LCD;
        ctx->display.ops = &exynos_dpi_display_ops;
        ctx->dev = dev;
-       ctx->dpms_mode = DRM_MODE_DPMS_OFF;
 
        ret = exynos_dpi_parse_dt(ctx);
        if (ret < 0) {
@@ -332,7 +314,7 @@ int exynos_dpi_remove(struct exynos_drm_display *display)
 {
        struct exynos_dpi *ctx = display_to_dpi(display);
 
-       exynos_dpi_dpms(&ctx->display, DRM_MODE_DPMS_OFF);
+       exynos_dpi_disable(&ctx->display);
 
        if (ctx->panel)
                drm_panel_detach(ctx->panel);
Simple merge