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