[PATCH 09/19] drm/msm: Remove drm_debugfs_remove_files() calls

Daniel Vetter daniel at ffwll.ch
Fri Jan 27 07:52:47 UTC 2017


On Thu, Jan 26, 2017 at 11:56:11PM +0100, Noralf Trønnes wrote:
> drm_debugfs_cleanup() now removes all minor->debugfs_list entries
> automatically, so it's not necessary to call
> drm_debugfs_remove_files(). Additionally it uses
> debugfs_remove_recursive() to clean up the debugfs files, so no need
> to do that.
> 
> Cc: robdclark at gmail.com
> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
> ---
>  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 +++----------------------------
>  4 files changed, 6 insertions(+), 63 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
> index 5f6cd87..2f21a18 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
> @@ -212,12 +212,6 @@ static int mdp5_kms_debugfs_init(struct msm_kms *kms, struct drm_minor *minor)
>  
>  	return 0;
>  }
> -
> -static void mdp5_kms_debugfs_cleanup(struct msm_kms *kms, struct drm_minor *minor)
> -{
> -	drm_debugfs_remove_files(mdp5_debugfs_list,
> -			ARRAY_SIZE(mdp5_debugfs_list), minor);
> -}
>  #endif
>  
>  static const struct mdp_kms_funcs kms_funcs = {
> @@ -239,7 +233,6 @@ static const struct mdp_kms_funcs kms_funcs = {
>  		.destroy         = mdp5_kms_destroy,
>  #ifdef CONFIG_DEBUG_FS
>  		.debugfs_init    = mdp5_kms_debugfs_init,
> -		.debugfs_cleanup = mdp5_kms_debugfs_cleanup,

Afaics the mdp_kms_funcs->debugfs_cleanup function is now entirely unused,
you can remove it (plus its only caller in msm_debugfs_cleanup) too.
Otherwise lgtm.
-Daniel

>  #endif
>  	},
>  	.set_irqmask         = mdp5_set_irqmask,
> diff --git a/drivers/gpu/drm/msm/msm_debugfs.c b/drivers/gpu/drm/msm/msm_debugfs.c
> index 387f0616..75609a1 100644
> --- a/drivers/gpu/drm/msm/msm_debugfs.c
> +++ b/drivers/gpu/drm/msm/msm_debugfs.c
> @@ -170,8 +170,6 @@ void msm_debugfs_cleanup(struct drm_minor *minor)
>  	struct drm_device *dev = minor->dev;
>  	struct msm_drm_private *priv = dev->dev_private;
>  
> -	drm_debugfs_remove_files(msm_debugfs_list,
> -			ARRAY_SIZE(msm_debugfs_list), minor);
>  	if (!priv)
>  		return;
>  
> diff --git a/drivers/gpu/drm/msm/msm_perf.c b/drivers/gpu/drm/msm/msm_perf.c
> index 1627294..fc5a948 100644
> --- a/drivers/gpu/drm/msm/msm_perf.c
> +++ b/drivers/gpu/drm/msm/msm_perf.c
> @@ -41,9 +41,6 @@ struct msm_perf_state {
>  	int buftot, bufpos;
>  
>  	unsigned long next_jiffies;
> -
> -	struct dentry *ent;
> -	struct drm_info_node *node;
>  };
>  
>  #define SAMPLE_TIME (HZ/4)
> @@ -208,6 +205,7 @@ int msm_perf_debugfs_init(struct drm_minor *minor)
>  {
>  	struct msm_drm_private *priv = minor->dev->dev_private;
>  	struct msm_perf_state *perf;
> +	struct dentry *ent;
>  
>  	/* only create on first minor: */
>  	if (priv->perf)
> @@ -222,26 +220,14 @@ int msm_perf_debugfs_init(struct drm_minor *minor)
>  	mutex_init(&perf->read_lock);
>  	priv->perf = perf;
>  
> -	perf->node = kzalloc(sizeof(*perf->node), GFP_KERNEL);
> -	if (!perf->node)
> -		goto fail;
> -
> -	perf->ent = debugfs_create_file("perf", S_IFREG | S_IRUGO,
> +	ent = debugfs_create_file("perf", S_IFREG | S_IRUGO,
>  			minor->debugfs_root, perf, &perf_debugfs_fops);
> -	if (!perf->ent) {
> +	if (!ent) {
>  		DRM_ERROR("Cannot create /sys/kernel/debug/dri/%pd/perf\n",
>  				minor->debugfs_root);
>  		goto fail;
>  	}
>  
> -	perf->node->minor = minor;
> -	perf->node->dent  = perf->ent;
> -	perf->node->info_ent = NULL;
> -
> -	mutex_lock(&minor->debugfs_lock);
> -	list_add(&perf->node->list, &minor->debugfs_list);
> -	mutex_unlock(&minor->debugfs_lock);
> -
>  	return 0;
>  
>  fail:
> @@ -259,15 +245,6 @@ void msm_perf_debugfs_cleanup(struct drm_minor *minor)
>  
>  	priv->perf = NULL;
>  
> -	debugfs_remove(perf->ent);
> -
> -	if (perf->node) {
> -		mutex_lock(&minor->debugfs_lock);
> -		list_del(&perf->node->list);
> -		mutex_unlock(&minor->debugfs_lock);
> -		kfree(perf->node);
> -	}
> -
>  	mutex_destroy(&perf->read_lock);
>  
>  	kfree(perf);
> diff --git a/drivers/gpu/drm/msm/msm_rd.c b/drivers/gpu/drm/msm/msm_rd.c
> index 6607456..ab0b39f 100644
> --- a/drivers/gpu/drm/msm/msm_rd.c
> +++ b/drivers/gpu/drm/msm/msm_rd.c
> @@ -84,9 +84,6 @@ struct msm_rd_state {
>  
>  	bool open;
>  
> -	struct dentry *ent;
> -	struct drm_info_node *node;
> -
>  	/* current submit to read out: */
>  	struct msm_gem_submit *submit;
>  
> @@ -219,6 +216,7 @@ int msm_rd_debugfs_init(struct drm_minor *minor)
>  {
>  	struct msm_drm_private *priv = minor->dev->dev_private;
>  	struct msm_rd_state *rd;
> +	struct dentry *ent;
>  
>  	/* only create on first minor: */
>  	if (priv->rd)
> @@ -236,26 +234,14 @@ int msm_rd_debugfs_init(struct drm_minor *minor)
>  
>  	init_waitqueue_head(&rd->fifo_event);
>  
> -	rd->node = kzalloc(sizeof(*rd->node), GFP_KERNEL);
> -	if (!rd->node)
> -		goto fail;
> -
> -	rd->ent = debugfs_create_file("rd", S_IFREG | S_IRUGO,
> +	ent = debugfs_create_file("rd", S_IFREG | S_IRUGO,
>  			minor->debugfs_root, rd, &rd_debugfs_fops);
> -	if (!rd->ent) {
> +	if (!ent) {
>  		DRM_ERROR("Cannot create /sys/kernel/debug/dri/%pd/rd\n",
>  				minor->debugfs_root);
>  		goto fail;
>  	}
>  
> -	rd->node->minor = minor;
> -	rd->node->dent  = rd->ent;
> -	rd->node->info_ent = NULL;
> -
> -	mutex_lock(&minor->debugfs_lock);
> -	list_add(&rd->node->list, &minor->debugfs_list);
> -	mutex_unlock(&minor->debugfs_lock);
> -
>  	return 0;
>  
>  fail:
> @@ -272,18 +258,7 @@ void msm_rd_debugfs_cleanup(struct drm_minor *minor)
>  		return;
>  
>  	priv->rd = NULL;
> -
> -	debugfs_remove(rd->ent);
> -
> -	if (rd->node) {
> -		mutex_lock(&minor->debugfs_lock);
> -		list_del(&rd->node->list);
> -		mutex_unlock(&minor->debugfs_lock);
> -		kfree(rd->node);
> -	}
> -
>  	mutex_destroy(&rd->read_lock);
> -
>  	kfree(rd);
>  }
>  
> -- 
> 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