Skip to contentSkip to conversation

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

DISCUSSION Mark Brown 2 participants 2 messages May 25 Linux-next tree

lore
Share & tools
lore

Mark Brown

author maintainer
#0 lore raw

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.

#1 lore raw
Quoted 10 lines · 在 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

Quoted 240 lines

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