Re: [PATCH v7 06/11] drm/bridge: get the bridge returned by drm_bridge_chain_get_first_bridge()

From: Luca Ceresoli
Date: Mon Mar 17 2025 - 10:59:13 EST


On Fri, 14 Mar 2025 19:10:41 +0100
Maxime Ripard <mripard@xxxxxxxxxx> wrote:

> On Fri, Mar 14, 2025 at 11:31:19AM +0100, Luca Ceresoli wrote:
> > drm_bridge_chain_get_first_bridge() returns a bridge pointer that the
> > caller could hold for a long time. Increment the refcount of the returned
> > bridge and document it must be put by the caller.
> >
> > Signed-off-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>

...

> > @@ -1112,8 +1115,8 @@ drm_bridge_get_prev_bridge(struct drm_bridge *bridge)
> > static inline struct drm_bridge *
> > drm_bridge_chain_get_first_bridge(struct drm_encoder *encoder)
> > {
> > - return list_first_entry_or_null(&encoder->bridge_chain,
> > - struct drm_bridge, chain_node);
> > + return drm_bridge_get(list_first_entry_or_null(&encoder->bridge_chain,
> > + struct drm_bridge, chain_node));
> > }
>
> We'll need to modify drm_bridge_get_next_bridge, drm_bridge_get_prev_bridge, and
> drm_for_each_bridge_in_chain in a similar manner, but for this one

Sure. I'm discussing this in the cover letter.

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com