Fixes compilation issues with older GCC versions and Clang after changes introduced in commit 6810bb390282 ("drm/panel: Add Samsung S6D7AA0 panel controller driver"). Tested with GCC 13.1.1, GCC 6.4.0 and Clang 16.0.3. Fixes the following errors with Clang: drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:312:14: error: initializer element is not a compile-time constant .drm_mode = s6d7aa0_lsl080al02_mode, ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:415:14: error: initializer element is not a compile-time constant .drm_mode = s6d7aa0_lsl080al03_mode, ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:443:14: error: initializer element is not a compile-time constant .drm_mode = s6d7aa0_ltl101at01_mode, ^~~~~~~~~~~~~~~~~~~~~~~ 3 errors generated. Fixes the following errors with GCC: drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:312:14: error: initializer element is not constant .drm_mode = s6d7aa0_lsl080al02_mode, ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:312:14: note: (near initialization for 's6d7aa0_lsl080al02_desc.drm_mode') drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:415:14: error: initializer element is not constant .drm_mode = s6d7aa0_lsl080al03_mode, ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:415:14: note: (near initialization for 's6d7aa0_lsl080al03_desc.drm_mode') drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:443:14: error: initializer element is not constant .drm_mode = s6d7aa0_ltl101at01_mode, ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c:443:14: note: (near initialization for 's6d7aa0_ltl101at01_desc.drm_mode') Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx> Link: https://lore.kernel.org/lkml/20230523180212.GA1401867@dev-arch.thelio-3990X Reported-by: kernelci.org bot <bot@xxxxxxxxxxxx> Link: https://lore.kernel.org/llvm/646c6def.a70a0220.58c1a.903d@xxxxxxxxxxxxx Fixes: 6810bb390282 ("drm/panel: Add Samsung S6D7AA0 panel controller driver") Signed-off-by: Artur Weber <aweber.kernel@xxxxxxxxx> --- v2: expanded commit message --- drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c index f532aa018428..102e1fc7ee38 100644 --- a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c +++ b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c @@ -37,7 +37,7 @@ struct s6d7aa0_panel_desc { 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; @@ -309,7 +309,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_lsl080al02_desc = { .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, @@ -412,7 +412,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_lsl080al03_desc = { .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, @@ -440,7 +440,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_ltl101at01_desc = { .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, @@ -458,7 +458,7 @@ static int s6d7aa0_get_modes(struct drm_panel *panel, 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; base-commit: 37cee4876a45a5c3da79a83d34ed4f3c68548aef -- 2.40.1