drm/panel: Use drm_mode_duplicate()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 18 Feb 2022 10:04:01 +0000 (12:04 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 14 Mar 2022 15:39:53 +0000 (17:39 +0200)
Replace the hand rolled drm_mode_duplicate() with the
real thing.

@is_dup@
@@
drm_mode_duplicate(...)
{ ... }

@depends on !is_dup@
expression dev, oldmode;
identifier newmode;
@@
- newmode = drm_mode_create(dev);
+ newmode = drm_mode_duplicate(dev, oldmode);
  ...
- drm_mode_copy(newmode, oldmode);

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220218100403.7028-21-ville.syrjala@linux.intel.com
Acked-by: Sam Ravnborg <sam@ravnborg.org>
drivers/gpu/drm/panel/panel-truly-nt35597.c
drivers/gpu/drm/panel/panel-visionox-rm69299.c

index b24b92d..9ca5c7f 100644 (file)
@@ -446,7 +446,7 @@ static int truly_nt35597_get_modes(struct drm_panel *panel,
        const struct nt35597_config *config;
 
        config = ctx->config;
-       mode = drm_mode_create(connector->dev);
+       mode = drm_mode_duplicate(connector->dev, config->dm);
        if (!mode) {
                dev_err(ctx->dev, "failed to create a new display mode\n");
                return 0;
@@ -454,7 +454,6 @@ static int truly_nt35597_get_modes(struct drm_panel *panel,
 
        connector->display_info.width_mm = config->width_mm;
        connector->display_info.height_mm = config->height_mm;
-       drm_mode_copy(mode, config->dm);
        mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
        drm_mode_probed_add(connector, mode);
 
index eb43503..db2443a 100644 (file)
@@ -168,7 +168,8 @@ static int visionox_rm69299_get_modes(struct drm_panel *panel,
        struct visionox_rm69299 *ctx = panel_to_ctx(panel);
        struct drm_display_mode *mode;
 
-       mode = drm_mode_create(connector->dev);
+       mode = drm_mode_duplicate(connector->dev,
+                                 &visionox_rm69299_1080x2248_60hz);
        if (!mode) {
                dev_err(ctx->panel.dev, "failed to create a new display mode\n");
                return 0;
@@ -176,7 +177,6 @@ static int visionox_rm69299_get_modes(struct drm_panel *panel,
 
        connector->display_info.width_mm = 74;
        connector->display_info.height_mm = 131;
-       drm_mode_copy(mode, &visionox_rm69299_1080x2248_60hz);
        mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
        drm_mode_probed_add(connector, mode);