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. - 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. 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. 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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel