[PATCH v2] drm/bridge: nwl-dsi: switch to devm_drm_of_get_bridge

José Expósito jose.exposito89 at gmail.com
Mon Mar 28 16:10:04 UTC 2022


On Mon, Mar 28, 2022 at 03:24:05PM +0200, Robert Foss wrote:
> On Fri, 18 Mar 2022 at 10:25, Liu Ying <victor.liu at oss.nxp.com> wrote:
> >
> > On Thu, 2022-03-17 at 18:58 +0100, José Expósito wrote:
> > > The function "drm_of_find_panel_or_bridge" has been deprecated in
> > > favor of "devm_drm_of_get_bridge".
> > >
> > > Switch to the new function and reduce boilerplate.
> > >
> > > Signed-off-by: José Expósito <jose.exposito89 at gmail.com>
> > >
> > > ---
> > >
> > > v2: (Thanks to Liu Ying)
> > >
> > >  - Rebase on top of drm-misc-next
> > >  - Remove drm_of_panel_bridge_remove
> > > ---
> > >  drivers/gpu/drm/bridge/nwl-dsi.c | 23 ++++-------------------
> > >  1 file changed, 4 insertions(+), 19 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c
> > > b/drivers/gpu/drm/bridge/nwl-dsi.c
> > > index e34fb09b90b9..de62e3fc6a59 100644
> > > --- a/drivers/gpu/drm/bridge/nwl-dsi.c
> > > +++ b/drivers/gpu/drm/bridge/nwl-dsi.c
> > > @@ -912,19 +912,11 @@ static int nwl_dsi_bridge_attach(struct
> > > drm_bridge *bridge,
> > >  {
> > >       struct nwl_dsi *dsi = bridge_to_dsi(bridge);
> > >       struct drm_bridge *panel_bridge;
> > > -     struct drm_panel *panel;
> > > -     int ret;
> > > -
> > > -     ret = drm_of_find_panel_or_bridge(dsi->dev->of_node, 1, 0,
> > > &panel,
> > > -                                       &panel_bridge);
> > > -     if (ret)
> > > -             return ret;
> > >
> > > -     if (panel) {
> > > -             panel_bridge = drm_panel_bridge_add(panel);
> > > -             if (IS_ERR(panel_bridge))
> > > -                     return PTR_ERR(panel_bridge);
> > > -     }
> > > +     panel_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev-
> > > >of_node,
> > > +                                           1, 0);
> > > +     if (IS_ERR(panel_bridge))
> > > +             return PTR_ERR(panel_bridge);
> > >
> > >       if (!panel_bridge)
> > >               return -EPROBE_DEFER;
> >
> > I don't think panel_bridge can be NULL here, so this check can be
> > removed.  However, even if this patch is not applied, the check is not
> > necessary.  I think it can be removed with a separate patch.
> 
> José, do you mind clearing up if this check is needed, and then
> spinning a v3 removing this snippet if it is needed?
> 
> Rob.

Hi Robert,

I think that as Liu pointed out, the "panel_bridge" variable can not
be NULL. However, as I don't have access to the required hardware to
test it, I'd prefer to keep the patch as it is, i.e., a refactor that
does not change the previous behaviour, rather than introducing an
untested change.

Jose


More information about the dri-devel mailing list