The rcar-du writeback connector reset implementation creates a custom
state subclass, but only initializes a pristine state without resetting
any hardware. This is equivalent to what atomic_create_state expects.
Convert to it.

Signed-off-by: Maxime Ripard <[email protected]>
---
Cc: Geert Uytterhoeven <[email protected]>
Cc: Kieran Bingham <[email protected]>
Cc: Laurent Pinchart <[email protected]>
Cc: Magnus Damm <[email protected]>
Cc: Tomi Valkeinen <[email protected]>
Cc: [email protected]
---
 drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c 
b/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c
index e5e6e6a156aa..9cb1af182fa0 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c
@@ -113,28 +113,25 @@ static void rcar_du_wb_conn_destroy_state(struct 
drm_connector *connector,
 {
        __drm_atomic_helper_connector_destroy_state(state);
        kfree(to_rcar_wb_conn_state(state));
 }
 
-static void rcar_du_wb_conn_reset(struct drm_connector *connector)
+static struct drm_connector_state *rcar_du_wb_conn_create_state(struct 
drm_connector *connector)
 {
        struct rcar_du_wb_conn_state *state;
 
-       if (connector->state) {
-               rcar_du_wb_conn_destroy_state(connector, connector->state);
-               connector->state = NULL;
-       }
-
        state = kzalloc_obj(*state);
        if (state == NULL)
-               return;
+               return ERR_PTR(-ENOMEM);
 
-       __drm_atomic_helper_connector_reset(connector, &state->state);
+       __drm_atomic_helper_connector_state_init(&state->state, connector);
+
+       return &state->state;
 }
 
 static const struct drm_connector_funcs rcar_du_wb_conn_funcs = {
-       .reset = rcar_du_wb_conn_reset,
+       .atomic_create_state = rcar_du_wb_conn_create_state,
        .fill_modes = drm_helper_probe_single_connector_modes,
        .destroy = drm_connector_cleanup,
        .atomic_duplicate_state = rcar_du_wb_conn_duplicate_state,
        .atomic_destroy_state = rcar_du_wb_conn_destroy_state,
 };

-- 
2.55.0

Reply via email to