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
---
v2: (Thanks to Liu Ying)
- Rebase on top of drm-misc-next - Remove drm_of_panel_bridge_remove --- drivers/gpu/drm/bridge/nwl-dsi.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c index e34fb09b90b9..de62e3fc6a59 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -912,19 +912,11 @@ static int nwl_dsi_bridge_attach(struct drm_bridge *bridge, { struct nwl_dsi *dsi = bridge_to_dsi(bridge); struct drm_bridge *panel_bridge; - struct drm_panel *panel; - int ret; - - ret = drm_of_find_panel_or_bridge(dsi->dev->of_node, 1, 0, &panel, - &panel_bridge); - if (ret) - return ret;
- if (panel) { - panel_bridge = drm_panel_bridge_add(panel); - if (IS_ERR(panel_bridge)) - return PTR_ERR(panel_bridge); - } + panel_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev->of_node, + 1, 0); + if (IS_ERR(panel_bridge)) + return PTR_ERR(panel_bridge);
if (!panel_bridge) return -EPROBE_DEFER; @@ -932,12 +924,6 @@ static int nwl_dsi_bridge_attach(struct drm_bridge *bridge, return drm_bridge_attach(bridge->encoder, panel_bridge, bridge, flags); }
-static void nwl_dsi_bridge_detach(struct drm_bridge *bridge) -{ struct nwl_dsi *dsi = bridge_to_dsi(bridge); - - drm_of_panel_bridge_remove(dsi->dev->of_node, 1, 0); -} - static u32 *nwl_bridge_atomic_get_input_bus_fmts(struct drm_bridge *bridge, struct drm_bridge_state *bridge_state, struct drm_crtc_state *crtc_state, @@ -983,7 +969,6 @@ static const struct drm_bridge_funcs nwl_dsi_bridge_funcs = { .mode_set = nwl_dsi_bridge_mode_set, .mode_valid = nwl_dsi_bridge_mode_valid, .attach = nwl_dsi_bridge_attach, - .detach = nwl_dsi_bridge_detach, };
static int nwl_dsi_parse_dt(struct nwl_dsi *dsi)
On Thu, 2022-03-17 at 18:58 +0100, José Expósito wrote:
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
v2: (Thanks to Liu Ying)
- Rebase on top of drm-misc-next
- Remove drm_of_panel_bridge_remove
drivers/gpu/drm/bridge/nwl-dsi.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c index e34fb09b90b9..de62e3fc6a59 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -912,19 +912,11 @@ static int nwl_dsi_bridge_attach(struct drm_bridge *bridge, { struct nwl_dsi *dsi = bridge_to_dsi(bridge); struct drm_bridge *panel_bridge;
- struct drm_panel *panel;
- int ret;
- ret = drm_of_find_panel_or_bridge(dsi->dev->of_node, 1, 0,
&panel,
&panel_bridge);
if (ret)
return ret;
if (panel) {
panel_bridge = drm_panel_bridge_add(panel);
if (IS_ERR(panel_bridge))
return PTR_ERR(panel_bridge);
}
- panel_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev-
of_node,
1, 0);
if (IS_ERR(panel_bridge))
return PTR_ERR(panel_bridge);
if (!panel_bridge) return -EPROBE_DEFER;
I don't think panel_bridge can be NULL here, so this check can be removed. However, even if this patch is not applied, the check is not necessary. I think it can be removed with a separate patch.
For this patch: Reviewed-by: Liu Ying victor.liu@oss.nxp.com
@@ -932,12 +924,6 @@ static int nwl_dsi_bridge_attach(struct drm_bridge *bridge, return drm_bridge_attach(bridge->encoder, panel_bridge, bridge, flags); }
-static void nwl_dsi_bridge_detach(struct drm_bridge *bridge) -{ struct nwl_dsi *dsi = bridge_to_dsi(bridge);
- drm_of_panel_bridge_remove(dsi->dev->of_node, 1, 0);
-}
static u32 *nwl_bridge_atomic_get_input_bus_fmts(struct drm_bridge *bridge, struct drm_bridge_state *bridge_state, struct drm_crtc_state *crtc_state, @@ -983,7 +969,6 @@ static const struct drm_bridge_funcs nwl_dsi_bridge_funcs = { .mode_set = nwl_dsi_bridge_mode_set, .mode_valid = nwl_dsi_bridge_mode_valid, .attach = nwl_dsi_bridge_attach,
- .detach = nwl_dsi_bridge_detach,
};
static int nwl_dsi_parse_dt(struct nwl_dsi *dsi)
On Fri, 18 Mar 2022 at 10:25, Liu Ying victor.liu@oss.nxp.com wrote:
On Thu, 2022-03-17 at 18:58 +0100, José Expósito wrote:
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
v2: (Thanks to Liu Ying)
- Rebase on top of drm-misc-next
- Remove drm_of_panel_bridge_remove
drivers/gpu/drm/bridge/nwl-dsi.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c index e34fb09b90b9..de62e3fc6a59 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -912,19 +912,11 @@ static int nwl_dsi_bridge_attach(struct drm_bridge *bridge, { struct nwl_dsi *dsi = bridge_to_dsi(bridge); struct drm_bridge *panel_bridge;
struct drm_panel *panel;
int ret;
ret = drm_of_find_panel_or_bridge(dsi->dev->of_node, 1, 0,
&panel,
&panel_bridge);
if (ret)
return ret;
if (panel) {
panel_bridge = drm_panel_bridge_add(panel);
if (IS_ERR(panel_bridge))
return PTR_ERR(panel_bridge);
}
panel_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev-
of_node,
1, 0);
if (IS_ERR(panel_bridge))
return PTR_ERR(panel_bridge); if (!panel_bridge) return -EPROBE_DEFER;
I don't think panel_bridge can be NULL here, so this check can be removed. However, even if this patch is not applied, the check is not necessary. I think it can be removed with a separate patch.
José, do you mind clearing up if this check is needed, and then spinning a v3 removing this snippet if it is needed?
Rob.
On Mon, Mar 28, 2022 at 03:24:05PM +0200, Robert Foss wrote:
On Fri, 18 Mar 2022 at 10:25, Liu Ying victor.liu@oss.nxp.com wrote:
On Thu, 2022-03-17 at 18:58 +0100, José Expósito wrote:
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
v2: (Thanks to Liu Ying)
- Rebase on top of drm-misc-next
- Remove drm_of_panel_bridge_remove
drivers/gpu/drm/bridge/nwl-dsi.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c index e34fb09b90b9..de62e3fc6a59 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -912,19 +912,11 @@ static int nwl_dsi_bridge_attach(struct drm_bridge *bridge, { struct nwl_dsi *dsi = bridge_to_dsi(bridge); struct drm_bridge *panel_bridge;
struct drm_panel *panel;
int ret;
ret = drm_of_find_panel_or_bridge(dsi->dev->of_node, 1, 0,
&panel,
&panel_bridge);
if (ret)
return ret;
if (panel) {
panel_bridge = drm_panel_bridge_add(panel);
if (IS_ERR(panel_bridge))
return PTR_ERR(panel_bridge);
}
panel_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev-
of_node,
1, 0);
if (IS_ERR(panel_bridge))
return PTR_ERR(panel_bridge); if (!panel_bridge) return -EPROBE_DEFER;
I don't think panel_bridge can be NULL here, so this check can be removed. However, even if this patch is not applied, the check is not necessary. I think it can be removed with a separate patch.
José, do you mind clearing up if this check is needed, and then spinning a v3 removing this snippet if it is needed?
Rob.
Hi Robert,
I think that as Liu pointed out, the "panel_bridge" variable can not be NULL. However, as I don't have access to the required hardware to test it, I'd prefer to keep the patch as it is, i.e., a refactor that does not change the previous behaviour, rather than introducing an untested change.
Jose
dri-devel@lists.freedesktop.org