Hi all,

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

  drivers/gpu/drm/bridge/microchip-lvds.c:132:44: error: 'struct 
drm_atomic_state' declared inside parameter list will not be visible outside of 
this definition or declaration [-Werror]
    132 |                                     struct drm_atomic_state *state)
        |                                            ^~~~~~~~~~~~~~~~
  drivers/gpu/drm/bridge/microchip-lvds.c: In function 
'mchp_lvds_atomic_enable':
  drivers/gpu/drm/bridge/microchip-lvds.c:153:62: error: passing argument 1 of 
'drm_atomic_get_new_connector_for_encoder' from incompatible pointer type 
[-Wincompatible-pointer-types]
    153 |         connector = drm_atomic_get_new_connector_for_encoder(state, 
bridge->encoder);
        |                                                              ^~~~~
        |                                                              |
        |                                                              struct 
drm_atomic_state *
  In file included from include/drm/drm_bridge.h:31,
                   from drivers/gpu/drm/bridge/microchip-lvds.c:25:
  include/drm/drm_atomic.h:758:74: note: expected 'const struct 
drm_atomic_commit *' but argument is of type 'struct drm_atomic_state *'
    758 | drm_atomic_get_new_connector_for_encoder(const struct 
drm_atomic_commit *state,
        |                                          
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
  drivers/gpu/drm/bridge/microchip-lvds.c: At top level:
  drivers/gpu/drm/bridge/microchip-lvds.c:161:45: error: 'struct 
drm_atomic_state' declared inside parameter list will not be visible outside of 
this definition or declaration [-Werror]
    161 |                                      struct drm_atomic_state *state)
        |                                             ^~~~~~~~~~~~~~~~
  drivers/gpu/drm/bridge/microchip-lvds.c:171:26: error: initialization of 
'void (*)(struct drm_bridge *, struct drm_atomic_commit *)' from incompatible 
pointer type 'void (*)(struct drm_bridge *, struct drm_atomic_state *)' 
[-Wincompatible-pointer-types]
    171 |         .atomic_enable = mchp_lvds_atomic_enable,
        |                          ^~~~~~~~~~~~~~~~~~~~~~~
  drivers/gpu/drm/bridge/microchip-lvds.c:171:26: note: (near initialization 
for 'mchp_lvds_bridge_funcs.atomic_enable')
  drivers/gpu/drm/bridge/microchip-lvds.c:172:27: error: initialization of 
'void (*)(struct drm_bridge *, struct drm_atomic_commit *)' from incompatible 
pointer type 'void (*)(struct drm_bridge *, struct drm_atomic_state *)' 
[-Wincompatible-pointer-types]
    172 |         .atomic_disable = mchp_lvds_atomic_disable,
        |                           ^~~~~~~~~~~~~~~~~~~~~~~~
  drivers/gpu/drm/bridge/microchip-lvds.c:172:27: note: (near initialization 
for 'mchp_lvds_bridge_funcs.atomic_disable')

Caused by commit

  c4cbe5d9e87d ("drm/bridge: microchip-lvds: migrate to atomic bridge ops")

from the drm-misc tree interacting badly with commit

  5164f7e7ff8e ("drm: Rename struct drm_atomic_state to drm_atomic_commit")

from the drm tree.

I fixed it up (see below) and can carry the fix for now, but please get
this fixed in the drm-misc tree.

Thanks,
Thierry

diff --git a/drivers/gpu/drm/bridge/microchip-lvds.c 
b/drivers/gpu/drm/bridge/microchip-lvds.c
index 12fc442f9867..5fb8633f43c5 100644
--- a/drivers/gpu/drm/bridge/microchip-lvds.c
+++ b/drivers/gpu/drm/bridge/microchip-lvds.c
@@ -129,7 +129,7 @@ static int mchp_lvds_attach(struct drm_bridge *bridge,
 }
 
 static void mchp_lvds_atomic_enable(struct drm_bridge *bridge,
-                                   struct drm_atomic_state *state)
+                                   struct drm_atomic_commit *state)
 {
        struct mchp_lvds *lvds = bridge_to_lvds(bridge);
        struct drm_connector *connector;
@@ -158,7 +158,7 @@ static void mchp_lvds_atomic_enable(struct drm_bridge 
*bridge,
 }
 
 static void mchp_lvds_atomic_disable(struct drm_bridge *bridge,
-                                    struct drm_atomic_state *state)
+                                    struct drm_atomic_commit *state)
 {
        struct mchp_lvds *lvds = bridge_to_lvds(bridge);
 
-- 
2.52.0

Reply via email to