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@xxxxxxxxxxxxxxxxxxxxx > > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel