Subject: linux-next: build failure after merge of the drm-misc tree

From: Mark Brown <[email-masked]>
Date: Mon, 25 May 2026 16:02:37 +0100

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)
      |                                                ^~~~~~~~~~~~~~~~
/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.