[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