There are no remaining users of the atomic_reset hook. Remove it from the core.
Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Thomas Zimmermann <[email protected]> Signed-off-by: Maxime Ripard <[email protected]> --- drivers/gpu/drm/drm_atomic_state_helper.c | 5 ++--- drivers/gpu/drm/drm_bridge.c | 8 ++------ include/drm/drm_bridge.h | 30 +----------------------------- 3 files changed, 5 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c index fbdc3d893a0c..d90d1d7c9cf9 100644 --- a/drivers/gpu/drm/drm_atomic_state_helper.c +++ b/drivers/gpu/drm/drm_atomic_state_helper.c @@ -892,13 +892,12 @@ EXPORT_SYMBOL(drm_atomic_helper_bridge_destroy_state); * @bridge: the bridge this state refers to * * @state is assumed to be zeroed. * * Initializes the bridge state to default values. This is meant to be called - * by the bridge &drm_bridge_funcs.atomic_create_state or - * &drm_bridge_funcs.atomic_reset hook for bridges that subclass the bridge - * state. + * by the bridge &drm_bridge_funcs.atomic_create_state hook for bridges that + * subclass the bridge state. */ void __drm_atomic_helper_bridge_state_init(struct drm_bridge_state *state, struct drm_bridge *bridge) { __drm_atomic_helper_private_obj_create_state(&bridge->base, &state->base); diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c index 776856e23592..6ead9b75ae3d 100644 --- a/drivers/gpu/drm/drm_bridge.c +++ b/drivers/gpu/drm/drm_bridge.c @@ -540,14 +540,11 @@ static struct drm_private_state * drm_bridge_atomic_create_priv_state(struct drm_private_obj *obj) { struct drm_bridge *bridge = drm_priv_to_bridge(obj); struct drm_bridge_state *state; - if (bridge->funcs->atomic_create_state) - state = bridge->funcs->atomic_create_state(bridge); - else - state = bridge->funcs->atomic_reset(bridge); + state = bridge->funcs->atomic_create_state(bridge); if (IS_ERR(state)) return ERR_CAST(state); return &state->base; } @@ -558,12 +555,11 @@ static const struct drm_private_state_funcs drm_bridge_priv_state_funcs = { .atomic_destroy_state = drm_bridge_atomic_destroy_priv_state, }; static bool drm_bridge_is_atomic(struct drm_bridge *bridge) { - return (bridge->funcs->atomic_create_state || - bridge->funcs->atomic_reset); + return bridge->funcs->atomic_create_state != NULL; } /** * drm_bridge_attach - attach the bridge to an encoder's chain * diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index 70e574fbf034..18f3db367dc1 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -501,37 +501,10 @@ struct drm_bridge_funcs { int (*atomic_check)(struct drm_bridge *bridge, struct drm_bridge_state *bridge_state, struct drm_crtc_state *crtc_state, struct drm_connector_state *conn_state); - /** - * @atomic_reset: - * - * Reset the bridge to a predefined state (or retrieve its current - * state) and return a &drm_bridge_state object matching this state. - * This function is called at attach time. - * - * The atomic_reset hook is mandatory if the bridge implements any of - * the atomic hooks, and should be left unassigned otherwise. For - * bridges that don't subclass &drm_bridge_state, the - * drm_atomic_helper_bridge_reset() helper function shall be used to - * implement this hook. - * - * Note that the atomic_reset() semantics is not exactly matching the - * reset() semantics found on other components (connector, plane, ...). - * - * 1. The reset operation happens when the bridge is attached, not when - * drm_mode_config_reset() is called - * 2. It's meant to be used exclusively on bridges that have been - * converted to the ATOMIC API - * - * RETURNS: - * A valid drm_bridge_state object in case of success, an ERR_PTR() - * giving the reason of the failure otherwise. - */ - struct drm_bridge_state *(*atomic_reset)(struct drm_bridge *bridge); - /** * @atomic_create_state: * * Allocate a pristine, initialized, state for the bridge * object and return it. This callback must have no side @@ -1389,12 +1362,11 @@ drm_bridge_get_current_state(struct drm_bridge *bridge) /* * Only atomic bridges will have bridge->base initialized by * drm_atomic_private_obj_init(), so we need to make sure we're * working with one before we try to use the lock. */ - if (!bridge->funcs || - !(bridge->funcs->atomic_reset || bridge->funcs->atomic_create_state)) + if (!bridge->funcs || !bridge->funcs->atomic_create_state) return NULL; drm_modeset_lock_assert_held(&bridge->base.lock); if (!bridge->base.state) -- 2.54.0
