drm/bridge: Remove atomic_reset support

There are no remaining users of the atomic_reset hook. Remove it
from the core.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com> # imx8mp + sn65dsi84 + bridge hotplug
Link: https://patch.msgid.link/20260619-drm-no-more-bridge-reset-v3-78-ff399263111b@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
Maxime Ripard 2026-06-19 14:25:23 +02:00
parent 80b6d00edc
commit f126289a0e
No known key found for this signature in database
GPG Key ID: 275FCE19A23DBE76
3 changed files with 5 additions and 38 deletions

View File

@ -894,9 +894,8 @@ EXPORT_SYMBOL(drm_atomic_helper_bridge_destroy_state);
* @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)

View File

@ -542,10 +542,7 @@ 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);
@ -560,8 +557,7 @@ static const struct drm_private_state_funcs drm_bridge_priv_state_funcs = {
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;
}
/**

View File

@ -503,33 +503,6 @@ struct drm_bridge_funcs {
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:
*
@ -1391,8 +1364,7 @@ drm_bridge_get_current_state(struct drm_bridge *bridge)
* 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);