devm_drm_of_get_bridge() is deprecated, switch to of_drm_get_bridge_by_endpoint(). As of_drm_get_bridge_by_endpoint() returns a refcounted bridge, ensure it is put by using bridge.next_bridge.
Signed-off-by: Luca Ceresoli <[email protected]> --- Unlike other commits in this series, this is not a fix: this code can be built only when CONFIG_OF=y. Do this change to keep dw-mipi-dsi dw-mipi-dsi2 as similar as they are already. --- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c index 7fd2f1e60654..a008450d83aa 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c @@ -192,7 +192,6 @@ struct cmd_header { struct dw_mipi_dsi2 { struct drm_bridge bridge; struct mipi_dsi_host dsi_host; - struct drm_bridge *panel_bridge; struct device *dev; struct regmap *regmap; struct clk *pclk; @@ -528,12 +527,12 @@ static int dw_mipi_dsi2_host_attach(struct mipi_dsi_host *host, dsi2->format = device->format; dsi2->mode_flags = device->mode_flags; - bridge = devm_drm_of_get_bridge(dsi2->dev, dsi2->dev->of_node, 1, 0); + bridge = of_drm_get_bridge_by_endpoint(dsi2->dev->of_node, 1, 0); if (IS_ERR(bridge)) return PTR_ERR(bridge); bridge->pre_enable_prev_first = true; - dsi2->panel_bridge = bridge; + dsi2->bridge.next_bridge = bridge; drm_bridge_add(&dsi2->bridge); @@ -565,8 +564,6 @@ static int dw_mipi_dsi2_host_detach(struct mipi_dsi_host *host, drm_bridge_remove(&dsi2->bridge); - drm_of_panel_bridge_remove(host->dev->of_node, 1, 0); - return 0; } @@ -884,7 +881,7 @@ static int dw_mipi_dsi2_bridge_attach(struct drm_bridge *bridge, encoder->encoder_type = DRM_MODE_ENCODER_DSI; /* Attach the panel-bridge to the dsi bridge */ - return drm_bridge_attach(encoder, dsi2->panel_bridge, bridge, + return drm_bridge_attach(encoder, dsi2->bridge.next_bridge, bridge, flags); } -- 2.55.0
