On Wed, Mar 2, 2022 at 4:50 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > On Tue, Mar 1, 2022 at 3:13 PM Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote: > > > + bridge = devm_drm_of_get_bridge(dev, dev->of_node, 0, 0); > > + if (IS_ERR(bridge)) { > > + dev_err(dev, "error to get bridge\n"); > > + return PTR_ERR(bridge); > > } > > > > d->bridge_out = bridge; > > Also notice how this bridge gets used in other places: > > struct drm_connector *connector = drm_panel_bridge_connector(mcde->bridge); mcde->bridge bridge is the current bridge pointer it cannot affect this change. d->bridge_out is what we are finding of the downstream bridge. > > Since you deleted: > > - } else if (bridge) { > - /* TODO: AV8100 HDMI encoder goes here for example */ > - dev_info(dev, "connected to non-panel bridge (unsupported)\n"); > - return -ENODEV; So, this means mcde dsi can support if the downstream bridge is the panel not if the downstream bridge is the next bridge. With devm_drm_of_get_bridge we cannot find that diff. Identifying the panel-bridge with some name pointer during panel_bridge_add might solve this, not sure that is proper way to do that? Thanks, Jagan.