const struct panel_desc *desc;
        int ret;
 
-       ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-       if (!ctx)
-               return -ENOMEM;
+       panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
+                                    &boe_th101mb31ig002_funcs,
+                                    DRM_MODE_CONNECTOR_DSI);
+       if (IS_ERR(panel))
+               return PTR_ERR(panel);
 
        mipi_dsi_set_drvdata(dsi, ctx);
        ctx->dsi = dsi;
                return dev_err_probe(&dsi->dev, ret,
                                     "Failed to get orientation\n");
 
-       drm_panel_init(&ctx->panel, &dsi->dev, &boe_th101mb31ig002_funcs,
-                      DRM_MODE_CONNECTOR_DSI);
-
        ret = drm_panel_of_backlight(&ctx->panel);
        if (ret)
                return ret;