diff mbox series

drm/bridge: ti-sn65dsi86: switch to devm_drm_of_get_bridge

Message ID 20220228183955.25508-1-jose.exposito89@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/bridge: ti-sn65dsi86: switch to devm_drm_of_get_bridge | expand

Commit Message

José Expósito Feb. 28, 2022, 6:39 p.m. UTC
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@gmail.com>
---
 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

Comments

Kieran Bingham Feb. 28, 2022, 11:24 p.m. UTC | #1
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@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

--
Kieran


>         if (IS_ERR(pdata->next_bridge)) {
>                 DRM_ERROR("failed to create panel bridge\n");
>                 return PTR_ERR(pdata->next_bridge);
> -- 
> 2.25.1
>
José Expósito March 3, 2022, 6:37 p.m. UTC | #2
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@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.

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 :)

Best wishes,
Jose
Kieran Bingham March 3, 2022, 9:59 p.m. UTC | #3
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@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.
> 
> 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
Kieran Bingham March 4, 2022, 12:12 p.m. UTC | #4
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@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@ideasonboard.com>


> 
> --
> Kieran
> 
> 
> > 
> > Best wishes,
> > Jose
Robert Foss March 9, 2022, 1:53 p.m. UTC | #5
On Fri, 4 Mar 2022 at 13:12, Kieran Bingham
<kieran.bingham@ideasonboard.com> wrote:
>
> 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@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@ideasonboard.com>
>

Applied to drm-misc-next.
diff mbox series

Patch

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);
 	if (IS_ERR(pdata->next_bridge)) {
 		DRM_ERROR("failed to create panel bridge\n");
 		return PTR_ERR(pdata->next_bridge);