drm/panel: samsung-s6d7aa0: use pointer for drm_mode in panel desc struct
Commit Message
Fixes compilation errors on older GCC versions (before 8.x) 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.
Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
---
drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
base-commit: 37cee4876a45a5c3da79a83d34ed4f3c68548aef
Comments
On Tue, May 23, 2023 at 2:20 PM Artur Weber <aweber.kernel@gmail.com> wrote:
>
> Fixes compilation errors on older GCC versions (before 8.x) 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.
Hi Artur,
Thanks for the patch! Mind sending a v2 with the diagnostic added to
the commit message? This gives reviewers much more context as to what
issue you are fixing.
>
> Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
> ---
> 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
>
On Tue, May 23, 2023 at 2:29 PM Nick Desaulniers
<ndesaulniers@google.com> wrote:
>
> On Tue, May 23, 2023 at 2:20 PM Artur Weber <aweber.kernel@gmail.com> wrote:
> >
> > Fixes compilation errors on older GCC versions (before 8.x) 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.
>
> Hi Artur,
> Thanks for the patch! Mind sending a v2 with the diagnostic added to
> the commit message? This gives reviewers much more context as to what
> issue you are fixing.
Perhaps it was these errors:
https://lore.kernel.org/llvm/646c6def.a70a0220.58c1a.903d@mx.google.com/T/#u
?
If so, please add
Reported-by: kernelci.org bot <bot@kernelci.org>
Link: https://lore.kernel.org/llvm/646c6def.a70a0220.58c1a.903d@mx.google.com
To the v2 commit message as well.
>
> >
> > Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
> > ---
> > 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
> >
>
>
> --
> Thanks,
> ~Nick Desaulniers
@@ -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;