The connector created by drm_bridge_connector only initializes a
pristine state in reset, which is equivalent to that atomic_create_state
would expect. Let's convert to it.

Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Maxime Ripard <[email protected]>
---
 drivers/gpu/drm/display/drm_bridge_connector.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c 
b/drivers/gpu/drm/display/drm_bridge_connector.c
index 
929f06b290626d2091418a6377a5230e3c264b60..b640e7d5a065d165a901bd73fc836afaab967dac
 100644
--- a/drivers/gpu/drm/display/drm_bridge_connector.c
+++ b/drivers/gpu/drm/display/drm_bridge_connector.c
@@ -263,26 +263,33 @@ static void drm_bridge_connector_debugfs_init(struct 
drm_connector *connector,
                if (bridge->funcs->debugfs_init)
                        bridge->funcs->debugfs_init(bridge, root);
        }
 }
 
-static void drm_bridge_connector_reset(struct drm_connector *connector)
+static struct drm_connector_state *
+drm_bridge_connector_create_state(struct drm_connector *connector)
 {
        struct drm_bridge_connector *bridge_connector =
                to_drm_bridge_connector(connector);
+       struct drm_connector_state *conn_state;
+
+       conn_state = drm_atomic_helper_connector_create_state(connector);
+       if (IS_ERR(conn_state))
+               return conn_state;
 
-       drm_atomic_helper_connector_reset(connector);
        if (bridge_connector->bridge_hdmi)
                __drm_atomic_helper_connector_hdmi_state_init(connector,
-                                                             connector->state);
+                                                             conn_state);
+
+       return conn_state;
 }
 
 static const struct drm_connector_funcs drm_bridge_connector_funcs = {
-       .reset = drm_bridge_connector_reset,
        .detect = drm_bridge_connector_detect,
        .force = drm_bridge_connector_force,
        .fill_modes = drm_helper_probe_single_connector_modes,
+       .atomic_create_state = drm_bridge_connector_create_state,
        .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
        .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
        .debugfs_init = drm_bridge_connector_debugfs_init,
        .oob_hotplug_event = drm_bridge_connector_oob_hotplug_event,
 };

-- 
2.53.0

Reply via email to