[PATCH 00/19] drm: debugfs: Remove all files automatically on cleanup

Daniel Vetter daniel at ffwll.ch
Fri Jan 27 14:29:29 UTC 2017


On Fri, Jan 27, 2017 at 03:23:43PM +0100, Noralf Trønnes wrote:
> 
> Den 27.01.2017 08.49, skrev Daniel Vetter:
> > On Thu, Jan 26, 2017 at 11:56:02PM +0100, Noralf Trønnes wrote:
> > > This patchset removes the need for drivers to clean up their debugfs
> > > files on exit. It is done automatically in drm_debugfs_cleanup().
> > > This funtion is also called should the driver error out in it's
> > > drm_driver.debugfs_init callback.
> > > 
> > > Two drivers still use drm_debugfs_remove_files():
> > > - tegra in it's connectors, not sure if I can remove it.
> > I read through them, and they're removed on the component device nodes
> > stuff. That looks somewhat fishy from a lifetime point of view, and I
> > think removing all that code would be better, too.
> > 
> > > - qxl because it's debugfs files list is part of struct qxl_device which
> > >    is freed on unload before drm_minor_unregister() is called cleaning debugfs.
> > In -next qxl is already demidlayered and there's no longer an unload hook.
> > This should be all safe ... why is it not?
> 
> My bad, I fetched linux-next a few days ago and figured it was
> up-to-date-enough. Duh, I should have known better after following drm for
> a year now, it is constantly changing, no pauses.
> 
> Can you please ping me when you have pulled driver patches and I'll respin
> msm, tegra and qxl (and others if necessary), and remove the hook.
> It's much easier for me to do a small patchset, it's really a strain to get
> everything lined up correctly with big changes. I didn't have that patch
> juggling class when in school, so I'm late to the game :-)

You're doing great with the patch juggling :-) I've just made a pass
through the series and merge what's already reviewed/acked.

Thanks, Daniel

> 
> 
> Noralf.
> 
> > > Daniel,
> > > I was unable to remove the drm_driver.debugfs_cleanup hook completely,
> > > since drm/msm uses it to free memory. Maybe it can be freed elsewhere.
> > Well this is definitely a massive step into a good direction, great work.
> > For msm I think we can just move the two calls left in msm_debugfs_cleanup
> > in msm_drm_uninit, right after the call to drm_dev_unregister.
> > -Daniel
> > 
> > > 
> > > Note:
> > > The driver patches are only compile tested.
> > > 
> > > 
> > > Noralf.
> > > 
> > > 
> > > Noralf Trønnes (19):
> > >    drm: debugfs: Remove all files automatically on cleanup
> > >    drm: drm_minor_register(): Clean up debugfs on failure
> > >    drm/atomic: Remove drm_atomic_debugfs_cleanup()
> > >    drm/amd/amdgpu: Remove drm_debugfs_remove_files() call
> > >    drm/armada: Remove armada_drm_debugfs_cleanup()
> > >    drm/etnaviv: allow build with COMPILE_TEST
> > >    drm/etnaviv: Remove etnaviv_debugfs_cleanup()
> > >    drm/hdlcd: Remove hdlcd_debugfs_cleanup()
> > >    drm/msm: Remove drm_debugfs_remove_files() calls
> > >    drm/nouveau: Remove nouveau_drm_debugfs_cleanup()
> > >    drm/omap: Remove omap_debugfs_cleanup()
> > >    drm/radeon: Remove drm_debugfs_remove_files() call
> > >    drm/sti: Remove drm_debugfs_remove_files() calls
> > >    drm/tegra: Remove tegra_debugfs_cleanup()
> > >    drm/tilcdc: Remove tilcdc_debugfs_cleanup()
> > >    drm/vc4: Remove vc4_debugfs_cleanup()
> > >    drm/virtio: Remove virtio_gpu_debugfs_takedown()
> > >    drm/qxl: Remove qxl_debugfs_takedown()
> > >    drm/i915: Remove i915_debugfs_unregister()
> > > 
> > >   drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  1 -
> > >   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 20 ------
> > >   drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    |  1 -
> > >   drivers/gpu/drm/arm/hdlcd_drv.c            |  7 ---
> > >   drivers/gpu/drm/armada/armada_debugfs.c    | 65 +++-----------------
> > >   drivers/gpu/drm/armada/armada_drm.h        |  1 -
> > >   drivers/gpu/drm/armada/armada_drv.c        |  3 -
> > >   drivers/gpu/drm/drm_atomic.c               |  7 ---
> > >   drivers/gpu/drm/drm_crtc_internal.h        |  1 -
> > >   drivers/gpu/drm/drm_debugfs.c              | 29 +++++----
> > >   drivers/gpu/drm/drm_drv.c                  |  2 +-
> > >   drivers/gpu/drm/etnaviv/Kconfig            |  2 +-
> > >   drivers/gpu/drm/etnaviv/etnaviv_drv.c      |  7 ---
> > >   drivers/gpu/drm/i915/i915_debugfs.c        | 97 ++++--------------------------
> > >   drivers/gpu/drm/i915/i915_drv.c            |  1 -
> > >   drivers/gpu/drm/i915/i915_drv.h            |  2 -
> > >   drivers/gpu/drm/i915/intel_drv.h           |  1 -
> > >   drivers/gpu/drm/i915/intel_pipe_crc.c      | 68 ++++-----------------
> > >   drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c    |  7 ---
> > >   drivers/gpu/drm/msm/msm_debugfs.c          |  2 -
> > >   drivers/gpu/drm/msm/msm_perf.c             | 29 +--------
> > >   drivers/gpu/drm/msm/msm_rd.c               | 31 +---------
> > >   drivers/gpu/drm/nouveau/nouveau_debugfs.c  | 62 ++++---------------
> > >   drivers/gpu/drm/nouveau/nouveau_debugfs.h  |  6 --
> > >   drivers/gpu/drm/nouveau/nouveau_drm.c      |  1 -
> > >   drivers/gpu/drm/omapdrm/omap_debugfs.c     |  9 ---
> > >   drivers/gpu/drm/omapdrm/omap_drv.c         |  1 -
> > >   drivers/gpu/drm/omapdrm/omap_drv.h         |  1 -
> > >   drivers/gpu/drm/qxl/qxl_debugfs.c          |  9 ---
> > >   drivers/gpu/drm/qxl/qxl_drv.c              |  1 -
> > >   drivers/gpu/drm/qxl/qxl_drv.h              |  1 -
> > >   drivers/gpu/drm/radeon/radeon_device.c     | 16 -----
> > >   drivers/gpu/drm/sti/sti_drv.c              | 48 ++-------------
> > >   drivers/gpu/drm/sti/sti_dvo.c              | 10 ---
> > >   drivers/gpu/drm/sti/sti_hda.c              | 11 ----
> > >   drivers/gpu/drm/sti/sti_hdmi.c             | 11 ----
> > >   drivers/gpu/drm/sti/sti_tvout.c            |  8 ---
> > >   drivers/gpu/drm/tegra/drm.c                |  7 ---
> > >   drivers/gpu/drm/tilcdc/tilcdc_drv.c        | 12 ----
> > >   drivers/gpu/drm/tilcdc/tilcdc_drv.h        |  2 -
> > >   drivers/gpu/drm/vc4/vc4_debugfs.c          |  6 --
> > >   drivers/gpu/drm/vc4/vc4_drv.c              |  1 -
> > >   drivers/gpu/drm/vc4/vc4_drv.h              |  1 -
> > >   drivers/gpu/drm/virtio/virtgpu_debugfs.c   |  8 ---
> > >   drivers/gpu/drm/virtio/virtgpu_drv.c       |  1 -
> > >   drivers/gpu/drm/virtio/virtgpu_drv.h       |  1 -
> > >   46 files changed, 76 insertions(+), 542 deletions(-)
> > > 
> > > --
> > > 2.10.2
> > > 
> > > _______________________________________________
> > > dri-devel mailing list
> > > dri-devel at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list