Hi, On 23/05/2023 20:02, Nathan Chancellor wrote: > Hi Artur, > > On Fri, May 19, 2023 at 07:03:53PM +0200, Artur Weber wrote: >> Initial driver for S6D7AA0-controlled panels. Currently, the following >> panels are supported: >> >> - S6D7AA0-LSL080AL02 (Samsung Galaxy Tab 3 8.0) >> - S6D7AA0-LSL080AL03 (Samsung Galaxy Tab A 8.0 2015) >> - S6D7AA0-LTL101AT01 (Samsung Galaxy Tab A 9.7 2015) >> >> It should be possible to extend this driver to work with other panels >> using this IC. >> >> Tested-by: Nikita Travkin <nikita@xxxxxxx> #ltl101at01 >> Signed-off-by: Artur Weber <aweber.kernel@xxxxxxxxx> > > <snip> > > This change as commit 6810bb390282 ("drm/panel: Add Samsung S6D7AA0 > panel controller driver") in -next causes the following build errors > with clang and GCC older than 8.x (the kernel supports back to GCC 5.1). > > 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. > > 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') > I've submitted a patch, "drm/panel: samsung-s6d7aa0: use pointer for drm_mode in panel desc struct"[1], which should fix this. I tested it with GCC 13.1.1, GCC 6.4.0 and Clang 16.0.3, but I'd appreciate any further testing and feedback. Apologies for the error. Best regards Artur [1] https://lore.kernel.org/all/20230523212050.9970-1-aweber.kernel@xxxxxxxxx/T/