Message ID | 20200302222631.3861340-17-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm_device managed resources, v4 | expand |
On Mon, Mar 02, 2020 at 11:25:56PM +0100, Daniel Vetter wrote: > With this we can drop the final kfree from the release function. > > Reviewed-by: Paul Cercueil <paul@crapouillou.net> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Paul Cercueil <paul@crapouillou.net> Acked-by: Sam Ravnborg <sam@ravnborg.org> > --- > 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 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
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;