unsigned int panel_type;
        int (*init_func)(struct s6d7aa0 *ctx);
        int (*off_func)(struct s6d7aa0 *ctx);
-       const struct drm_display_mode drm_mode;
+       const struct drm_display_mode *drm_mode;
        unsigned long mode_flags;
        u32 bus_flags;
        bool has_backlight;
        .panel_type = S6D7AA0_PANEL_LSL080AL02,
        .init_func = s6d7aa0_lsl080al02_init,
        .off_func = s6d7aa0_lsl080al02_off,
-       .drm_mode = s6d7aa0_lsl080al02_mode,
+       .drm_mode = &s6d7aa0_lsl080al02_mode,
        .mode_flags = MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_NO_HFP,
        .bus_flags = DRM_BUS_FLAG_DE_HIGH,
 
        .panel_type = S6D7AA0_PANEL_LSL080AL03,
        .init_func = s6d7aa0_lsl080al03_init,
        .off_func = s6d7aa0_lsl080al03_off,
-       .drm_mode = s6d7aa0_lsl080al03_mode,
+       .drm_mode = &s6d7aa0_lsl080al03_mode,
        .mode_flags = MIPI_DSI_MODE_NO_EOT_PACKET,
        .bus_flags = 0,
 
        .panel_type = S6D7AA0_PANEL_LTL101AT01,
        .init_func = s6d7aa0_lsl080al03_init, /* Similar init to LSL080AL03 */
        .off_func = s6d7aa0_lsl080al03_off,
-       .drm_mode = s6d7aa0_ltl101at01_mode,
+       .drm_mode = &s6d7aa0_ltl101at01_mode,
        .mode_flags = MIPI_DSI_MODE_NO_EOT_PACKET,
        .bus_flags = 0,
 
        if (!ctx)
                return -EINVAL;
 
-       mode = drm_mode_duplicate(connector->dev, &ctx->desc->drm_mode);
+       mode = drm_mode_duplicate(connector->dev, ctx->desc->drm_mode);
        if (!mode)
                return -ENOMEM;