[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0c08fd7b-435c-67e9-f2a2-543a72cb3140@gmail.com>
Date: Tue, 23 May 2023 23:26:00 +0200
From: Artur Weber <aweber.kernel@...il.com>
To: Nathan Chancellor <nathan@...nel.org>
Cc: thierry.reding@...il.com, Sam Ravnborg <sam@...nborg.org>,
David Airlie <airlied@...il.com>,
Daniel Vetter <daniel@...ll.ch>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
~postmarketos/upstreaming@...ts.sr.ht,
Nikita Travkin <nikita@...n.ru>,
Neil Armstrong <neil.armstrong@...aro.org>
Subject: Re: [PATCH v5 2/3] drm/panel: Add Samsung S6D7AA0 panel controller
driver
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@...n.ru> #ltl101at01
>> Signed-off-by: Artur Weber <aweber.kernel@...il.com>
>
> <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@gmail.com/T/
Powered by blists - more mailing lists