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 <[email protected]>
---
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);
if (IS_ERR(pdata->next_bridge)) {
DRM_ERROR("failed to create panel bridge\n");
return PTR_ERR(pdata->next_bridge);
--
2.25.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 <[email protected]>
> ---
> 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
>
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 <[email protected]>
> > ---
> > 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
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 <[email protected]>
> > > ---
> > > 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
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 <[email protected]>
> > > > ---
> > > > 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 <[email protected]>
>
> --
> Kieran
>
>
> >
> > Best wishes,
> > Jose
On Fri, 4 Mar 2022 at 13:12, Kieran Bingham
<[email protected]> 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 <[email protected]>
> > > > > ---
> > > > > 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 <[email protected]>
>
Applied to drm-misc-next.