|
@@ -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);
|
|
|
|