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
