Message ID | 20200227181522.2711142-17-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm managed resources, v3 | expand |
Hi Daniel, Le jeu., févr. 27, 2020 at 19:14, Daniel Vetter <daniel.vetter@ffwll.ch> a écrit : > With this we can drop the final kfree from the release function. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Paul Cercueil <paul@crapouillou.net> Reviewed-by: Paul Cercueil <paul@crapouillou.net> Cheers, -Paul > --- > drivers/gpu/drm/ingenic/ingenic-drm.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c > b/drivers/gpu/drm/ingenic/ingenic-drm.c > index 9dfe7cb530e1..e2c832eb4e9a 100644 > --- a/drivers/gpu/drm/ingenic/ingenic-drm.c > +++ b/drivers/gpu/drm/ingenic/ingenic-drm.c > @@ -23,6 +23,7 @@ > #include <drm/drm_fourcc.h> > #include <drm/drm_gem_framebuffer_helper.h> > #include <drm/drm_irq.h> > +#include <drm/drm_managed.h> > #include <drm/drm_of.h> > #include <drm/drm_panel.h> > #include <drm/drm_plane.h> > @@ -490,11 +491,8 @@ static irqreturn_t ingenic_drm_irq_handler(int > irq, void *arg) > > static void ingenic_drm_release(struct drm_device *drm) > { > - struct ingenic_drm *priv = drm_device_get_priv(drm); > - > drm_mode_config_cleanup(drm); > drm_dev_fini(drm); > - kfree(priv); > } > > static int ingenic_drm_enable_vblank(struct drm_crtc *crtc) > @@ -639,6 +637,7 @@ static int ingenic_drm_probe(struct > platform_device *pdev) > kfree(priv); > return ret; > } > + drmm_add_final_kfree(drm, priv); > > drm_mode_config_init(drm); > drm->mode_config.min_width = 0; > -- > 2.24.1 >
diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c index 9dfe7cb530e1..e2c832eb4e9a 100644 --- a/drivers/gpu/drm/ingenic/ingenic-drm.c +++ b/drivers/gpu/drm/ingenic/ingenic-drm.c @@ -23,6 +23,7 @@ #include <drm/drm_fourcc.h> #include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_irq.h> +#include <drm/drm_managed.h> #include <drm/drm_of.h> #include <drm/drm_panel.h> #include <drm/drm_plane.h> @@ -490,11 +491,8 @@ static irqreturn_t ingenic_drm_irq_handler(int irq, void *arg) static void ingenic_drm_release(struct drm_device *drm) { - struct ingenic_drm *priv = drm_device_get_priv(drm); - drm_mode_config_cleanup(drm); drm_dev_fini(drm); - kfree(priv); } static int ingenic_drm_enable_vblank(struct drm_crtc *crtc) @@ -639,6 +637,7 @@ static int ingenic_drm_probe(struct platform_device *pdev) kfree(priv); return ret; } + drmm_add_final_kfree(drm, priv); drm_mode_config_init(drm); drm->mode_config.min_width = 0;
With this we can drop the final kfree from the release function. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Paul Cercueil <paul@crapouillou.net> --- drivers/gpu/drm/ingenic/ingenic-drm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)