[PATCH 1/8] drm: Clean up debugfs upon shutdown

Rob Clark robdclark at gmail.com
Sun Jul 7 16:39:14 PDT 2013


On Sun, Jul 7, 2013 at 3:02 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> Driver authors are a forgetful breed, and having to manually clean up
> all inodes from debugfs during module unload is tedious and rarely
> encountered by users; leftover inodes fester. But behold, the drm core
> already tracks all inodes created under the DRI debugfs minor so that we
> can do all the teardown ourselves.

Seems like a pretty sane idea.

Reviewed-by: Rob Clark <robdclark at gmail.com>


> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Dave Airlie <airlied at redhat.com>
> ---
>  drivers/gpu/drm/drm_debugfs.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
> index a05087c..b855fd7 100644
> --- a/drivers/gpu/drm/drm_debugfs.c
> +++ b/drivers/gpu/drm/drm_debugfs.c
> @@ -229,7 +229,16 @@ int drm_debugfs_cleanup(struct drm_minor *minor)
>         if (dev->driver->debugfs_cleanup)
>                 dev->driver->debugfs_cleanup(minor);
>
> -       drm_debugfs_remove_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES, minor);
> +       while (!list_empty(&minor->debugfs_list)) {
> +               struct drm_info_node *node =
> +                       list_first_entry(&minor->debugfs_list,
> +                                        struct drm_info_node,
> +                                        list);
> +
> +               debugfs_remove(node->dent);
> +               list_del(&node->list);
> +               kfree(node);
> +       }
>
>         debugfs_remove(minor->debugfs_root);
>         minor->debugfs_root = NULL;
> --
> 1.8.3.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list