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

From: Daniel Vetter
Date: Tue Jan 08 2019 - 03:37:43 EST


On Tue, Jan 08, 2019 at 11:12:41AM +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function 'amdgpu_dm_mode_config_init':
> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1695:30: error: passing argument 1 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
> drm_atomic_private_obj_init(&adev->dm.atomic_obj,
> ^~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_dp_mst_helper.h:27,
> from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46,
> from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57,
> from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34:
> include/drm/drm_atomic.h:437:53: note: expected 'struct drm_device *' but argument is of type 'struct drm_private_obj *'
> void drm_atomic_private_obj_init(struct drm_device *dev,
> ~~~~~~~~~~~~~~~~~~~^~~
> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1696:9: error: passing argument 2 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
> &state->base,
> ^~~~~~~~~~~~
> In file included from include/drm/drm_dp_mst_helper.h:27,
> from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46,
> from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57,
> from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34:
> include/drm/drm_atomic.h:438:30: note: expected 'struct drm_private_obj *' but argument is of type 'struct drm_private_state *'
> struct drm_private_obj *obj,
> ~~~~~~~~~~~~~~~~~~~~~~~~^~~
> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1697:9: error: passing argument 3 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
> &dm_atomic_state_funcs);
> ^~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_dp_mst_helper.h:27,
> from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46,
> from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57,
> from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34:
> include/drm/drm_atomic.h:439:32: note: expected 'struct drm_private_state *' but argument is of type 'struct drm_private_state_funcs *'
> struct drm_private_state *state,
> ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1695:2: error: too few arguments to function 'drm_atomic_private_obj_init'
> drm_atomic_private_obj_init(&adev->dm.atomic_obj,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_dp_mst_helper.h:27,
> from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46,
> from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57,
> from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34:
> include/drm/drm_atomic.h:437:6: note: declared here
> void drm_atomic_private_obj_init(struct drm_device *dev,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Caused by commit
>
> b962a12050a3 ("drm/atomic: integrate modeset lock with private objects")
>
> interacting with commit
>
> eb3dc8978596 ("drm/amd/display: Use private obj helpers for dm_atomic_state")
>
> from Linus' tree (merged during the merge window).
>
> Its not obvious how to fix this up, so I have used the drm-misc tree
> from next-20190107 for today.

https://cgit.freedesktop.org/drm-tip/tree/fixups/drm-misc-next.patch?h=rerere-cache

is the fixup you want. Should get baked into drm-next any moment, since
the first drm-misc-next pull is already out.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch