[RFC PATCH 05/11] drm/bridge: ti-sn65dsi86: Wrap panel with panel-bridge
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Mar 23 21:50:55 UTC 2021
Hi Stephen,
On Tue, Mar 23, 2021 at 12:14:04AM -0700, Stephen Boyd wrote:
> Quoting Laurent Pinchart (2021-03-21 20:01:22)
> > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > index 1d1be791d5ba..c21a7f7d452b 100644
> > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > @@ -418,8 +420,18 @@ static int ti_sn_bridge_attach(struct drm_bridge *bridge,
> > }
> > pdata->dsi = dsi;
> >
> > + /* Attach the next bridge */
> > + ret = drm_bridge_attach(bridge->encoder, pdata->next_bridge,
> > + &pdata->bridge, flags);
> > + if (ret < 0) {
> > + DRM_ERROR("failed to attach next bridge\n");
>
> Can this be pushed into drm_bridge_attach() instead of in each caller?
Good idea.
> > + goto err_dsi_detach;
> > + }
> > +
> > return 0;
> >
> > +err_dsi_detach:
> > + mipi_dsi_detach(dsi);
> > err_dsi_attach:
> > mipi_dsi_device_unregister(dsi);
> > err_dsi_host:
> > static void ti_sn_bridge_post_disable(struct drm_bridge *bridge)
> > @@ -1245,6 +1249,14 @@ static int ti_sn_bridge_probe(struct i2c_client *client,
> > return ret;
> > }
> >
> > + pdata->next_bridge = devm_drm_panel_bridge_add(pdata->dev,
> > + pdata->panel);
> > + if (IS_ERR(pdata->next_bridge)) {
> > + DRM_ERROR("failed to create panel bridge\n");
> > + ret = PTR_ERR(pdata->next_bridge);
> > + return ret;
>
> Just return PTR_ERR(pdata->next_bridge)?
Indeed. Bad copy and paste.
> > + }
> > +
> > dev_set_drvdata(&client->dev, pdata);
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list