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 |
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 >
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
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
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
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 --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);
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(-)