When the bridge is detached from it's parent, we also need to unregister
the dsi_host. Also, in enable, check if we have a panel or a bridge
connected, otherwise enable is not needed.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
struct device *dev = dsi->dev;
int ret;
- if (dsi->enabled)
+ if (dsi->enabled || (!dsi->panel && !dsi->next_bridge))
return;
if (!dsi->lanes) {
drm_bridge_detach(dsi->next_bridge);
nwl_dsi_del_bridge(dsi->next_bridge->encoder, dsi->next_bridge);
}
+ mipi_dsi_host_unregister(&dsi->host);
}
static const struct drm_bridge_funcs nwl_dsi_bridge_funcs = {