aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/mcde/mcde_drv.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/mcde/mcde_drv.c b/drivers/gpu/drm/mcde/mcde_drv.c
index f28cb7a576ba..51140a22240a 100644
--- a/drivers/gpu/drm/mcde/mcde_drv.c
+++ b/drivers/gpu/drm/mcde/mcde_drv.c
@@ -72,6 +72,7 @@
#include <drm/drm_gem.h>
#include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_managed.h>
#include <drm/drm_of.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_panel.h>
@@ -219,11 +220,8 @@ out_config:
static void mcde_release(struct drm_device *drm)
{
- struct mcde *mcde = drm->dev_private;
-
drm_mode_config_cleanup(drm);
drm_dev_fini(drm);
- kfree(mcde);
}
DEFINE_DRM_GEM_CMA_FOPS(drm_fops);
@@ -330,6 +328,7 @@ static int mcde_probe(struct platform_device *pdev)
}
drm = &mcde->drm;
drm->dev_private = mcde;
+ drmm_add_final_kfree(drm, mcde);
platform_set_drvdata(pdev, drm);
/* Enable continuous updates: this is what Linux' framebuffer expects */