Subject: linux-next: build failure after merge of the pinctrl-intel tree

From: Thierry Reding <[email-masked]>
Date: Thu, 07 May 2026 12:47:48 +0200

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