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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 14 Jun 2019 14:41:33 +1000

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:4031:18: error: initialization of 'int (*)(struct drm_connector *, struct drm_atomic_state *)' from incompatible pointer type 'int (*)(struct drm_connector *, struct drm_connector_state *)' [-Werror=incompatible-pointer-types]
  .atomic_check = amdgpu_dm_connector_atomic_check,
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:4031:18: note: (near initialization for 'amdgpu_dm_connector_helper_funcs.atomic_check')

Caused by commit

  6f3b62781bbd ("drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state")

interacting with commit

  88694af9e4d1 ("drm/amd/display: Expose HDR output metadata for supported connectors")

from the drm tree.

I added the following merge fix patch:

From: Stephen Rothwell <[email-masked]>
Date: Fri, 14 Jun 2019 14:27:12 +1000
Subject: [PATCH] fixup for "drm: Convert connector_helper_funcs->atomic_check
 to accept drm_atomic_state"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 413bf22e9585..b3a083c9a11c 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3976,9 +3976,10 @@ is_hdr_metadata_different(const struct drm_connector_state *old_state,
 
 static int
 amdgpu_dm_connector_atomic_check(struct drm_connector *conn,
-				 struct drm_connector_state *new_con_state)
+				 struct drm_atomic_state *state)
 {
-	struct drm_atomic_state *state = new_con_state->state;
+	struct drm_connector_state *new_con_state =
+		drm_atomic_get_new_connector_state(state, conn);
 	struct drm_connector_state *old_con_state =
 		drm_atomic_get_old_connector_state(state, conn);
 	struct drm_crtc *crtc = new_con_state->crtc;
-- 
2.20.1

-- 
Cheers,
Stephen Rothwell