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

From: Kieran Bingham
Date: Thu Mar 03 2022 - 16:59:37 EST


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@xxxxxxxxx>
> > > ---
> > > 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.
>
> 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.

--
Kieran


>
> Best wishes,
> Jose