Re: linux-next: build failure after merge of the drm-misc tree
From: Icenowy Zheng
Date: Mon May 25 2026 - 11:28:58 EST
在 2026-05-25一的 16:02 +0100,Mark Brown写道:
> Hi all,
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:43:48:
> error: 'struct drm_atomic_state' declared inside parameter list will
> not be visible outside of this definition or declaration [-Werror]
> 43 | struct
> drm_atomic_state *state)
Oops, I put the patch for too long time that the behavior changed.
I'm going to fix this.
Thanks,
Icenowy
> |
> ^~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> In function 'vs_cursor_plane_atomic_check':
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:45:82:
> error: passing argument 1 of 'drm_atomic_get_new_plane_state' from
> incompatible pointer type [-Wincompatible-pointer-types]
> 45 | struct drm_plane_state *new_plane_state =
> drm_atomic_get_new_plane_state(state,
>
> |
> ^~~~~
>
> |
> |
>
> |
> struct
>
> |
> drm_atomic_state
>
> |
> *
> In file included from
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:12:
> /tmp/next/build/include/drm/drm_atomic.h:824:64: note: expected
> 'const struct drm_atomic_commit *' but argument is of type 'struct
> drm_atomic_state *'
> 824 | drm_atomic_get_new_plane_state(const struct drm_atomic_commit
> *state,
> |
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:55:60:
> error: passing argument 1 of 'drm_atomic_get_new_crtc_state' from
> incompatible pointer type [-Wincompatible-pointer-types]
> 55 | crtc_state =
> drm_atomic_get_new_crtc_state(state, crtc);
> |
> ^~~~~
> | |
> struct
> |
> drm_atomic_state
> | *
> /tmp/next/build/include/drm/drm_atomic.h:794:63: note: expected
> 'const struct drm_atomic_commit *' but argument is of type 'struct
> drm_atomic_state *'
> 794 | drm_atomic_get_new_crtc_state(const struct drm_atomic_commit
> *state,
> |
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> At top level:
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:101:51:
> error: 'struct drm_atomic_state' declared inside parameter list will
> not be visible outside of this definition or declaration [-Werror]
> 101 | struct
> drm_atomic_state *atomic_state)
> |
> ^~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> In function 'vs_cursor_plane_atomic_enable':
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:103:72:
> error: passing argument 1 of 'drm_atomic_get_new_plane_state' from
> incompatible pointer type [-Wincompatible-pointer-types]
> 103 | struct drm_plane_state *state =
> drm_atomic_get_new_plane_state(atomic_state,
>
> |
> ^~~~~~~~~~~~
>
> |
> |
>
> |
> struct
>
> |
> drm_atomic_state
>
> |
> *
> /tmp/next/build/include/drm/drm_atomic.h:824:64: note: expected
> 'const struct drm_atomic_commit *' but argument is of type 'struct
> drm_atomic_state *'
> 824 | drm_atomic_get_new_plane_state(const struct drm_atomic_commit
> *state,
> |
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> At top level:
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:118:52:
> error: 'struct drm_atomic_state' declared inside parameter list will
> not be visible outside of this definition or declaration [-Werror]
> 118 | struct
> drm_atomic_state *atomic_state)
> |
> ^~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> In function 'vs_cursor_plane_atomic_disable':
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:120:72:
> error: passing argument 1 of 'drm_atomic_get_old_plane_state' from
> incompatible pointer type [-Wincompatible-pointer-types]
> 120 | struct drm_plane_state *state =
> drm_atomic_get_old_plane_state(atomic_state,
>
> |
> ^~~~~~~~~~~~
>
> |
> |
>
> |
> struct
>
> |
> drm_atomic_state
>
> |
> *
> /tmp/next/build/include/drm/drm_atomic.h:809:64: note: expected
> 'const struct drm_atomic_commit *' but argument is of type 'struct
> drm_atomic_state *'
> 809 | drm_atomic_get_old_plane_state(const struct drm_atomic_commit
> *state,
> |
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> At top level:
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:135:51:
> error: 'struct drm_atomic_state' declared inside parameter list will
> not be visible outside of this definition or declaration [-Werror]
> 135 | struct
> drm_atomic_state *atomic_state)
> |
> ^~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> In function 'vs_cursor_plane_atomic_update':
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:137:72:
> error: passing argument 1 of 'drm_atomic_get_new_plane_state' from
> incompatible pointer type [-Wincompatible-pointer-types]
> 137 | struct drm_plane_state *state =
> drm_atomic_get_new_plane_state(atomic_state,
>
> |
> ^~~~~~~~~~~~
>
> |
> |
>
> |
> struct
>
> |
> drm_atomic_state
>
> |
> *
> /tmp/next/build/include/drm/drm_atomic.h:824:64: note: expected
> 'const struct drm_atomic_commit *' but argument is of type 'struct
> drm_atomic_state *'
> 824 | drm_atomic_get_new_plane_state(const struct drm_atomic_commit
> *state,
> |
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:147:55:
> error: passing argument 2 of 'vs_cursor_plane_atomic_disable' from
> incompatible pointer type [-Wincompatible-pointer-types]
> 147 | vs_cursor_plane_atomic_disable(plane,
> atomic_state);
> |
> ^~~~~~~~~~~~
> | |
> struct
> |
> drm_atomic_state
> | *
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:118:70:
> note: expected 'struct drm_atomic_state *' but argument is of type
> 'struct drm_atomic_state *'
> 118 | struct
> drm_atomic_state *atomic_state)
> |
> ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:
> At top level:
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:225:27:
> error: initialization of 'int (*)(struct drm_plane *, struct
> drm_atomic_commit *)' from incompatible pointer type 'int (*)(struct
> drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-
> types]
> 225 | .atomic_check = vs_cursor_plane_atomic_check,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:225:27:
> note: (near initialization for
> 'vs_cursor_plane_helper_funcs.atomic_check')
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:226:27:
> error: initialization of 'void (*)(struct drm_plane *, struct
> drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct
> drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-
> types]
> 226 | .atomic_update = vs_cursor_plane_atomic_update,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:226:27:
> note: (near initialization for
> 'vs_cursor_plane_helper_funcs.atomic_update')
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:227:27:
> error: initialization of 'void (*)(struct drm_plane *, struct
> drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct
> drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-
> types]
> 227 | .atomic_enable = vs_cursor_plane_atomic_enable,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:227:27:
> note: (near initialization for
> 'vs_cursor_plane_helper_funcs.atomic_enable')
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:228:27:
> error: initialization of 'void (*)(struct drm_plane *, struct
> drm_atomic_commit *)' from incompatible pointer type 'void (*)(struct
> drm_plane *, struct drm_atomic_state *)' [-Wincompatible-pointer-
> types]
> 228 | .atomic_disable = vs_cursor_plane_atomic_disable,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/verisilicon/vs_cursor_plane.c:228:27:
> note: (near initialization for
> 'vs_cursor_plane_helper_funcs.atomic_disable')
>
> Caused by commit
>
> 8c4ae21891255 (drm: verisilicon: add support for cursor planes)
>
> interacting with
>
> 5164f7e7ff8ec (drm: Rename struct drm_atomic_state to
> drm_atomic_commit)
>
> which appears to be an ancestor of the verisilicon commit. I have
> used
> the version from next-20260522 instead.