Hi Maxime, Thank you for the patch.
On Sat, May 30, 2026 at 03:59:10PM +0200, Maxime Ripard wrote: > The drm_atomic_helper_bridge_reset() helper is deprecated in favour > of the new atomic_create_state callback. > > Add drm_atomic_helper_bridge_create_state() as the counterpart helper > for this new callback. I'd write here that drivers will be converted to the new helper in subsequent changes, and drm_atomic_helper_bridge_reset() then removed. > Signed-off-by: Maxime Ripard <[email protected]> > --- > drivers/gpu/drm/drm_atomic_state_helper.c | 25 +++++++++++++++++++++++++ > include/drm/drm_atomic_state_helper.h | 2 ++ > 2 files changed, 27 insertions(+) > > diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c > b/drivers/gpu/drm/drm_atomic_state_helper.c > index f0688f2d83fe..b99dedbc4140 100644 > --- a/drivers/gpu/drm/drm_atomic_state_helper.c > +++ b/drivers/gpu/drm/drm_atomic_state_helper.c > @@ -925,5 +925,30 @@ drm_atomic_helper_bridge_reset(struct drm_bridge *bridge) > > __drm_atomic_helper_bridge_state_init(bridge_state, bridge); > return bridge_state; > } > EXPORT_SYMBOL(drm_atomic_helper_bridge_reset); > + > +/** > + * drm_atomic_helper_bridge_create_state - default > &drm_bridge_funcs.atomic_create_state hook for bridges Line wrap. "default" is a bit misleading, I would assume it would be used by the core if the .atomic_create_state() pointer was null. Maybe * drm_atomic_helper_bridge_create_state - Implementation of &drm_bridge_funcs.atomic_create_state * for bridge drivers that do no subclass the state But maybe that's a bit long. Up to you. Reviewed-by: Laurent Pinchart <[email protected]> > + * @bridge: bridge object > + * > + * Allocates and initializes pristine @drm_bridge_state. > + * > + * This is useful for drivers that don't subclass @drm_bridge_state. > + * > + * RETURNS: > + * Pointer to new bridge state, or ERR_PTR on failure. > + */ > +struct drm_bridge_state * > +drm_atomic_helper_bridge_create_state(struct drm_bridge *bridge) > +{ > + struct drm_bridge_state *bridge_state; > + > + bridge_state = kzalloc_obj(*bridge_state); > + if (!bridge_state) > + return ERR_PTR(-ENOMEM); > + > + __drm_atomic_helper_bridge_state_init(bridge_state, bridge); > + return bridge_state; > +} > +EXPORT_SYMBOL(drm_atomic_helper_bridge_create_state); > diff --git a/include/drm/drm_atomic_state_helper.h > b/include/drm/drm_atomic_state_helper.h > index cbc760598b9e..68c685ad330f 100644 > --- a/include/drm/drm_atomic_state_helper.h > +++ b/include/drm/drm_atomic_state_helper.h > @@ -103,6 +103,8 @@ drm_atomic_helper_bridge_duplicate_state(struct > drm_bridge *bridge); > void drm_atomic_helper_bridge_destroy_state(struct drm_bridge *bridge, > struct drm_bridge_state *state); > void __drm_atomic_helper_bridge_state_init(struct drm_bridge_state *state, > struct drm_bridge *bridge); > struct drm_bridge_state * > +drm_atomic_helper_bridge_create_state(struct drm_bridge *bridge); > +struct drm_bridge_state * > drm_atomic_helper_bridge_reset(struct drm_bridge *bridge); > -- Regards, Laurent Pinchart
