diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c index 7051b5932d..32e7f82d92 100644 --- a/msm/dsi/dsi_panel.c +++ b/msm/dsi/dsi_panel.c @@ -3141,6 +3141,13 @@ struct dsi_panel *dsi_panel_get(struct device *parent, pr_debug("failed to parse esd config, rc=%d\n", rc); drm_panel_init(&panel->drm_panel); + panel->drm_panel.dev = &panel->mipi_device.dev; + panel->mipi_device.dev.of_node = of_node; + + rc = drm_panel_add(&panel->drm_panel); + if (rc) + goto error; + mutex_init(&panel->panel_lock); return panel; @@ -3151,6 +3158,8 @@ error: void dsi_panel_put(struct dsi_panel *panel) { + drm_panel_remove(&panel->drm_panel); + /* free resources allocated for ESD check */ dsi_panel_esd_config_deinit(&panel->esd_config);