Subject: linux-next: build failure after merge of the mali-dp tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Jan 2019 10:46:19 +1100

Hi Liviu,

After merging the mali-dp tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c: In function 'komeda_pipeline_obj_add':
drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c:48:30: error: passing argument 1 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
  drm_atomic_private_obj_init(&pipe->obj, &st->obj,
                              ^~~~~~~~~~
In file included from drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h:11,
                 from drivers/gpu/drm/arm/display/komeda/komeda_dev.h:12,
                 from drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c:7:
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/arm/display/komeda/komeda_private_obj.c:48:42: error: passing argument 2 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
  drm_atomic_private_obj_init(&pipe->obj, &st->obj,
                                          ^~~~~~~~
In file included from drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h:11,
                 from drivers/gpu/drm/arm/display/komeda/komeda_dev.h:12,
                 from drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c:7:
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/arm/display/komeda/komeda_private_obj.c:49:9: error: passing argument 3 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
         &komeda_pipeline_obj_funcs);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h:11,
                 from drivers/gpu/drm/arm/display/komeda/komeda_dev.h:12,
                 from drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c:7:
include/drm/drm_atomic.h:439:32: note: expected 'struct drm_private_state *' but argument is of type 'const struct drm_private_state_funcs *'
      struct drm_private_state *state,
      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c:48:2: error: too few arguments to function 'drm_atomic_private_obj_init'
  drm_atomic_private_obj_init(&pipe->obj, &st->obj,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h:11,
                 from drivers/gpu/drm/arm/display/komeda/komeda_dev.h:12,
                 from drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c:7:
include/drm/drm_atomic.h:437:6: note: declared here
 void drm_atomic_private_obj_init(struct drm_device *dev,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

  61f1c4a8ab75 ("drm/komeda: Attach komeda_dev to DRM-KMS")

interacting with commit

  b962a12050a3 ("drm/atomic: integrate modeset lock with private objects")

from the drm tree.

I have applied the following merge fix patch:

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Jan 2019 10:42:04 +1100
Subject: [PATCH] drm/komeda: merge fix for drm_atomic_private_obj_init() API change

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c b/drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c
index 9edfd6ab0c12..f1c9e3fefa86 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_private_obj.c
@@ -45,7 +45,7 @@ static int komeda_pipeline_obj_add(struct komeda_kms_dev *kms,
 		return -ENOMEM;
 
 	st->pipe = pipe;
-	drm_atomic_private_obj_init(&pipe->obj, &st->obj,
+	drm_atomic_private_obj_init(&kms->base, &pipe->obj, &st->obj,
 				    &komeda_pipeline_obj_funcs);
 
 	return 0;
-- 
2.20.1

-- 
Cheers,
Stephen Rothwell