[PATCH] drm/bridge: ti-sn65dsi86: switch to devm_drm_of_get_bridge

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Mar 4 12:12:54 UTC 2022


Hi José

Quoting Kieran Bingham (2022-03-03 21:59:26)
> Quoting José Expósito (2022-03-03 18:37:20)
> > On Mon, Feb 28, 2022 at 11:24:36PM +0000, Kieran Bingham wrote:
> > > Hi José
> > > 
> > > Quoting José Expósito (2022-02-28 18:39:54)
> > > > 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>
> > > > ---
> > > >  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 +-------
> > > >  1 file changed, 1 insertion(+), 7 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > > > index dab8f76618f3..fb8e16ed7e90 100644
> > > > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > > > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > > > @@ -1232,15 +1232,9 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
> > > >  {
> > > >         struct ti_sn65dsi86 *pdata = dev_get_drvdata(adev->dev.parent);
> > > >         struct device_node *np = pdata->dev->of_node;
> > > > -       struct drm_panel *panel;
> > > >         int ret;
> > > >  
> > > > -       ret = drm_of_find_panel_or_bridge(np, 1, 0, &panel, NULL);
> > > > -       if (ret)
> > > > -               return dev_err_probe(&adev->dev, ret,
> > > > -                                    "could not find any panel node\n");
> > > > -
> > > > -       pdata->next_bridge = devm_drm_panel_bridge_add(pdata->dev, panel);
> > > > +       pdata->next_bridge = devm_drm_of_get_bridge(pdata->dev, np, 1, 0);
> > > 
> > > Yikes, I was about to rely on this panel variable to determine if the
> > > device is a panel or a display port connector. (Well, I am relying on
> > > it, and patches are hoping to be reposted this week).
> > > 
> > > Is there expected to be another way to identify if the next connection
> > > is a panel or a bridge?
> > > 
> > > Regards
> > 
> > Hi Kieran,
> > 
> > I'm getting started in the DRM subsystem. I couldn't tell if there is a
> > good way to access the panel pointer... I didn't manage to find it, but
> > hopefully someone with more experience can point us to a solution.
> > 
> > Since you mentioned display port, I'm not sure if in your case checking
> > "pdata->next_bridge->type" could be good enough.

Actually, it is. And I think this is actually cleaner (both here, and in
the series I'm working on).

> > Anyway, if this patch causes you problems, please go ahead and ignore it.
> > I'm sure the series you are working on are more important than removing
> > a deprecated function :)
> 
> If it's deprecated, I don't want to block it's removal. Hopefully I can
> resume my work on this tomorrow so I can check to see what I can parse.
> Thanks for the lead on the bridge type, I'm sure I've seen that around
> too so hopefully that's enough. If it is, I'll rebase my work on top of
> your patch and retest.

So - my series is now working with a bit of adaptation to run on top of
your patch, and I think the overall result is better. So:

Reviewed-by: Kieran Bingham <kieran.bingham+renesas at ideasonboard.com>


> 
> --
> Kieran
> 
> 
> > 
> > Best wishes,
> > Jose


More information about the dri-devel mailing list