Skip to contentSkip to conversation

media: remove bdisp_dbg_declare() and hva_dbg_declare()

PATCH Superseded Yangtao Li 2 participants 3 messages Dec 2, 2018 – Dec 12, 2018

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Yangtao Li

author
#0 lore raw

PATCH v2 1/1 media: remove bdisp_dbg_declare() and hva_dbg_declare()

We already have the DEFINE_SHOW_ATTRIBUTE.There is no need to define bdisp_dbg_declare and hva_dbg_declare,so remove them.Also use DEFINE_SHOW_ATTRIBUTE to simplify some code.

---
Changes in v2:
-delete fimc_is_debugfs_open

---
 drivers/media/platform/exynos4-is/fimc-is.c   | 16 ++-------
 .../media/platform/sti/bdisp/bdisp-debug.c    | 34 ++++++------------
 drivers/media/platform/sti/hva/hva-debugfs.c  | 36 +++++++------------
 3 files changed, 26 insertions(+), 60 deletions(-)
drivers/media/platform/exynos4-is/fimc-is.c +3 -13
index f5fc54de19da..02da0b06e56a 100644
@@ -738,7 +738,7 @@ int fimc_is_hw_initialize(struct fimc_is *is)
 	return 0;
 }
 
-static int fimc_is_log_show(struct seq_file *s, void *data)
+static int fimc_is_show(struct seq_file *s, void *data)
 {
 	struct fimc_is *is = s->private;
 	const u8 *buf = is->memory.vaddr + FIMC_IS_DEBUG_REGION_OFFSET;
@@ -752,17 +752,7 @@ static int fimc_is_log_show(struct seq_file *s, void *data)
 	return 0;
 }
 
-static int fimc_is_debugfs_open(struct inode *inode, struct file *file)
-{
-	return single_open(file, fimc_is_log_show, inode->i_private);
-}
-
-static const struct file_operations fimc_is_debugfs_fops = {
-	.open		= fimc_is_debugfs_open,
-	.read		= seq_read,
-	.llseek		= seq_lseek,
-	.release	= single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(fimc_is);
 
 static void fimc_is_debugfs_remove(struct fimc_is *is)
 {
@@ -777,7 +767,7 @@ static int fimc_is_debugfs_create(struct fimc_is *is)
 	is->debugfs_entry = debugfs_create_dir("fimc_is", NULL);
 
 	dentry = debugfs_create_file("fw_log", S_IRUGO, is->debugfs_entry,
-				     is, &fimc_is_debugfs_fops);
+				     is, &fimc_is_fops);
 	if (!dentry)
 		fimc_is_debugfs_remove(is);
 
drivers/media/platform/sti/bdisp/bdisp-debug.c +11 -23
index c6a4e2de5c0c..77ca7517fa3e 100644
@@ -315,7 +315,7 @@ static void bdisp_dbg_dump_ivmx(struct seq_file *s,
 	seq_puts(s, "Unknown conversion\n");
 }
 
-static int bdisp_dbg_last_nodes(struct seq_file *s, void *data)
+static int last_nodes_show(struct seq_file *s, void *data)
 {
 	/* Not dumping all fields, focusing on significant ones */
 	struct bdisp_dev *bdisp = s->private;
@@ -388,7 +388,7 @@ static int bdisp_dbg_last_nodes(struct seq_file *s, void *data)
 	return 0;
 }
 
-static int bdisp_dbg_last_nodes_raw(struct seq_file *s, void *data)
+static int last_nodes_raw_show(struct seq_file *s, void *data)
 {
 	struct bdisp_dev *bdisp = s->private;
 	struct bdisp_node *node;
@@ -437,7 +437,7 @@ static const char *bdisp_fmt_to_str(struct bdisp_frame frame)
 	}
 }
 
-static int bdisp_dbg_last_request(struct seq_file *s, void *data)
+static int last_request_show(struct seq_file *s, void *data)
 {
 	struct bdisp_dev *bdisp = s->private;
 	struct bdisp_request *request = &bdisp->dbg.copy_request;
@@ -474,7 +474,7 @@ static int bdisp_dbg_last_request(struct seq_file *s, void *data)
 
 #define DUMP(reg) seq_printf(s, #reg " \t0x%08X\n", readl(bdisp->regs + reg))
 
-static int bdisp_dbg_regs(struct seq_file *s, void *data)
+static int regs_show(struct seq_file *s, void *data)
 {
 	struct bdisp_dev *bdisp = s->private;
 	int ret;
@@ -582,7 +582,7 @@ static int bdisp_dbg_regs(struct seq_file *s, void *data)
 
 #define SECOND 1000000
 
-static int bdisp_dbg_perf(struct seq_file *s, void *data)
+static int perf_show(struct seq_file *s, void *data)
 {
 	struct bdisp_dev *bdisp = s->private;
 	struct bdisp_request *request = &bdisp->dbg.copy_request;
@@ -627,27 +627,15 @@ static int bdisp_dbg_perf(struct seq_file *s, void *data)
 	return 0;
 }
 
-#define bdisp_dbg_declare(name) \
-	static int bdisp_dbg_##name##_open(struct inode *i, struct file *f) \
-	{ \
-		return single_open(f, bdisp_dbg_##name, i->i_private); \
-	} \
-	static const struct file_operations bdisp_dbg_##name##_fops = { \
-		.open           = bdisp_dbg_##name##_open, \
-		.read           = seq_read, \
-		.llseek         = seq_lseek, \
-		.release        = single_release, \
-	}
-
 #define bdisp_dbg_create_entry(name) \
 	debugfs_create_file(#name, S_IRUGO, bdisp->dbg.debugfs_entry, bdisp, \
-			    &bdisp_dbg_##name##_fops)
+			    &name##_fops)
 
-bdisp_dbg_declare(regs);
-bdisp_dbg_declare(last_nodes);
-bdisp_dbg_declare(last_nodes_raw);
-bdisp_dbg_declare(last_request);
-bdisp_dbg_declare(perf);
+DEFINE_SHOW_ATTRIBUTE(regs);
+DEFINE_SHOW_ATTRIBUTE(last_nodes);
+DEFINE_SHOW_ATTRIBUTE(last_nodes_raw);
+DEFINE_SHOW_ATTRIBUTE(last_request);
+DEFINE_SHOW_ATTRIBUTE(perf);
 
 int bdisp_debugfs_create(struct bdisp_dev *bdisp)
 {
drivers/media/platform/sti/hva/hva-debugfs.c +12 -24
index 9f7e8ac875d1..7d12a5b5d914 100644
@@ -271,7 +271,7 @@ static void hva_dbg_perf_compute(struct hva_ctx *ctx)
  * device debug info
  */
 
-static int hva_dbg_device(struct seq_file *s, void *data)
+static int device_show(struct seq_file *s, void *data)
 {
 	struct hva_dev *hva = s->private;
 
@@ -281,7 +281,7 @@ static int hva_dbg_device(struct seq_file *s, void *data)
 	return 0;
 }
 
-static int hva_dbg_encoders(struct seq_file *s, void *data)
+static int encoders_show(struct seq_file *s, void *data)
 {
 	struct hva_dev *hva = s->private;
 	unsigned int i = 0;
@@ -299,7 +299,7 @@ static int hva_dbg_encoders(struct seq_file *s, void *data)
 	return 0;
 }
 
-static int hva_dbg_last(struct seq_file *s, void *data)
+static int last_show(struct seq_file *s, void *data)
 {
 	struct hva_dev *hva = s->private;
 	struct hva_ctx *last_ctx = &hva->dbg.last_ctx;
@@ -316,7 +316,7 @@ static int hva_dbg_last(struct seq_file *s, void *data)
 	return 0;
 }
 
-static int hva_dbg_regs(struct seq_file *s, void *data)
+static int regs_show(struct seq_file *s, void *data)
 {
 	struct hva_dev *hva = s->private;
 
@@ -325,26 +325,14 @@ static int hva_dbg_regs(struct seq_file *s, void *data)
 	return 0;
 }
 
-#define hva_dbg_declare(name)						  \
-	static int hva_dbg_##name##_open(struct inode *i, struct file *f) \
-	{								  \
-		return single_open(f, hva_dbg_##name, i->i_private);	  \
-	}								  \
-	static const struct file_operations hva_dbg_##name##_fops = {	  \
-		.open		= hva_dbg_##name##_open,		  \
-		.read		= seq_read,				  \
-		.llseek		= seq_lseek,				  \
-		.release	= single_release,			  \
-	}
-
 #define hva_dbg_create_entry(name)					 \
 	debugfs_create_file(#name, 0444, hva->dbg.debugfs_entry, hva, \
-			    &hva_dbg_##name##_fops)
+			    &name##_fops)
 
-hva_dbg_declare(device);
-hva_dbg_declare(encoders);
-hva_dbg_declare(last);
-hva_dbg_declare(regs);
+DEFINE_SHOW_ATTRIBUTE(device);
+DEFINE_SHOW_ATTRIBUTE(encoders);
+DEFINE_SHOW_ATTRIBUTE(last);
+DEFINE_SHOW_ATTRIBUTE(regs);
 
 void hva_debugfs_create(struct hva_dev *hva)
 {
@@ -380,7 +368,7 @@ void hva_debugfs_remove(struct hva_dev *hva)
  * context (instance) debug info
  */
 
-static int hva_dbg_ctx(struct seq_file *s, void *data)
+static int ctx_show(struct seq_file *s, void *data)
 {
 	struct hva_ctx *ctx = s->private;
 
@@ -392,7 +380,7 @@ static int hva_dbg_ctx(struct seq_file *s, void *data)
 	return 0;
 }
 
-hva_dbg_declare(ctx);
+DEFINE_SHOW_ATTRIBUTE(ctx);
 
 void hva_dbg_ctx_create(struct hva_ctx *ctx)
 {
@@ -407,7 +395,7 @@ void hva_dbg_ctx_create(struct hva_ctx *ctx)
 
 	ctx->dbg.debugfs_entry = debugfs_create_file(name, 0444,
 						     hva->dbg.debugfs_entry,
-						     ctx, &hva_dbg_ctx_fops);
+						     ctx, &ctx_fops);
 }
 
 void hva_dbg_ctx_remove(struct hva_ctx *ctx)
Signature · 1 line
2.17.0
#1 lore raw

Hi,

The patch itself is OK, but the commit talks about bdisp & hva while the patch is also for fimc-is.
Could you please update the commit header & messages?

BR

Fabien

Quoted 237 lines · Yangtao Li

We already have the DEFINE_SHOW_ATTRIBUTE.There is no need to define bdisp_dbg_declare and hva_dbg_declare,so remove them.Also use DEFINE_SHOW_ATTRIBUTE to simplify some code.

---
Changes in v2:

(quoted diff) +0 -2
-delete fimc_is_debugfs_open
---
  drivers/media/platform/exynos4-is/fimc-is.c   | 16 ++-------
  .../media/platform/sti/bdisp/bdisp-debug.c    | 34 ++++++------------
  drivers/media/platform/sti/hva/hva-debugfs.c  | 36 +++++++------------
  3 files changed, 26 insertions(+), 60 deletions(-)
drivers/media/platform/exynos4-is/fimc-is.c +3 -13
index f5fc54de19da..02da0b06e56a 100644
@@ -738,7 +738,7 @@ int fimc_is_hw_initialize(struct fimc_is *is)
  	return 0;
  }
 
-static int fimc_is_log_show(struct seq_file *s, void *data)
+static int fimc_is_show(struct seq_file *s, void *data)
  {
  	struct fimc_is *is = s->private;
  	const u8 *buf = is->memory.vaddr + FIMC_IS_DEBUG_REGION_OFFSET;
@@ -752,17 +752,7 @@ static int fimc_is_log_show(struct seq_file *s, void *data)
  	return 0;
  }
 
-static int fimc_is_debugfs_open(struct inode *inode, struct file *file)
-{
-	return single_open(file, fimc_is_log_show, inode->i_private);
-}
-
-static const struct file_operations fimc_is_debugfs_fops = {
-	.open		= fimc_is_debugfs_open,
-	.read		= seq_read,
-	.llseek		= seq_lseek,
-	.release	= single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(fimc_is);
 
  static void fimc_is_debugfs_remove(struct fimc_is *is)
  {
@@ -777,7 +767,7 @@ static int fimc_is_debugfs_create(struct fimc_is *is)
  	is->debugfs_entry = debugfs_create_dir("fimc_is", NULL);
 
  	dentry = debugfs_create_file("fw_log", S_IRUGO, is->debugfs_entry,
-				     is, &fimc_is_debugfs_fops);
+				     is, &fimc_is_fops);
  	if (!dentry)
  		fimc_is_debugfs_remove(is);
 
drivers/media/platform/sti/bdisp/bdisp-debug.c +11 -23
index c6a4e2de5c0c..77ca7517fa3e 100644
@@ -315,7 +315,7 @@ static void bdisp_dbg_dump_ivmx(struct seq_file *s,
  	seq_puts(s, "Unknown conversion\n");
  }
 
-static int bdisp_dbg_last_nodes(struct seq_file *s, void *data)
+static int last_nodes_show(struct seq_file *s, void *data)
  {
  	/* Not dumping all fields, focusing on significant ones */
  	struct bdisp_dev *bdisp = s->private;
@@ -388,7 +388,7 @@ static int bdisp_dbg_last_nodes(struct seq_file *s, void *data)
  	return 0;
  }
 
-static int bdisp_dbg_last_nodes_raw(struct seq_file *s, void *data)
+static int last_nodes_raw_show(struct seq_file *s, void *data)
  {
  	struct bdisp_dev *bdisp = s->private;
  	struct bdisp_node *node;
@@ -437,7 +437,7 @@ static const char *bdisp_fmt_to_str(struct bdisp_frame frame)
  	}
  }
 
-static int bdisp_dbg_last_request(struct seq_file *s, void *data)
+static int last_request_show(struct seq_file *s, void *data)
  {
  	struct bdisp_dev *bdisp = s->private;
  	struct bdisp_request *request = &bdisp->dbg.copy_request;
@@ -474,7 +474,7 @@ static int bdisp_dbg_last_request(struct seq_file *s, void *data)
 
  #define DUMP(reg) seq_printf(s, #reg " \t0x%08X\n", readl(bdisp->regs + reg))
 
-static int bdisp_dbg_regs(struct seq_file *s, void *data)
+static int regs_show(struct seq_file *s, void *data)
  {
  	struct bdisp_dev *bdisp = s->private;
  	int ret;
@@ -582,7 +582,7 @@ static int bdisp_dbg_regs(struct seq_file *s, void *data)
 
  #define SECOND 1000000
 
-static int bdisp_dbg_perf(struct seq_file *s, void *data)
+static int perf_show(struct seq_file *s, void *data)
  {
  	struct bdisp_dev *bdisp = s->private;
  	struct bdisp_request *request = &bdisp->dbg.copy_request;
@@ -627,27 +627,15 @@ static int bdisp_dbg_perf(struct seq_file *s, void *data)
  	return 0;
  }
 
-#define bdisp_dbg_declare(name) \
-	static int bdisp_dbg_##name##_open(struct inode *i, struct file *f) \
-	{ \
-		return single_open(f, bdisp_dbg_##name, i->i_private); \
-	} \
-	static const struct file_operations bdisp_dbg_##name##_fops = { \
-		.open           = bdisp_dbg_##name##_open, \
-		.read           = seq_read, \
-		.llseek         = seq_lseek, \
-		.release        = single_release, \
-	}
-
  #define bdisp_dbg_create_entry(name) \
  	debugfs_create_file(#name, S_IRUGO, bdisp->dbg.debugfs_entry, bdisp, \
-			    &bdisp_dbg_##name##_fops)
+			    &name##_fops)
 
-bdisp_dbg_declare(regs);
-bdisp_dbg_declare(last_nodes);
-bdisp_dbg_declare(last_nodes_raw);
-bdisp_dbg_declare(last_request);
-bdisp_dbg_declare(perf);
+DEFINE_SHOW_ATTRIBUTE(regs);
+DEFINE_SHOW_ATTRIBUTE(last_nodes);
+DEFINE_SHOW_ATTRIBUTE(last_nodes_raw);
+DEFINE_SHOW_ATTRIBUTE(last_request);
+DEFINE_SHOW_ATTRIBUTE(perf);
 
  int bdisp_debugfs_create(struct bdisp_dev *bdisp)
  {
drivers/media/platform/sti/hva/hva-debugfs.c +12 -24
index 9f7e8ac875d1..7d12a5b5d914 100644
@@ -271,7 +271,7 @@ static void hva_dbg_perf_compute(struct hva_ctx *ctx)
   * device debug info
   */
 
-static int hva_dbg_device(struct seq_file *s, void *data)
+static int device_show(struct seq_file *s, void *data)
  {
  	struct hva_dev *hva = s->private;
 
@@ -281,7 +281,7 @@ static int hva_dbg_device(struct seq_file *s, void *data)
  	return 0;
  }
 
-static int hva_dbg_encoders(struct seq_file *s, void *data)
+static int encoders_show(struct seq_file *s, void *data)
  {
  	struct hva_dev *hva = s->private;
  	unsigned int i = 0;
@@ -299,7 +299,7 @@ static int hva_dbg_encoders(struct seq_file *s, void *data)
  	return 0;
  }
 
-static int hva_dbg_last(struct seq_file *s, void *data)
+static int last_show(struct seq_file *s, void *data)
  {
  	struct hva_dev *hva = s->private;
  	struct hva_ctx *last_ctx = &hva->dbg.last_ctx;
@@ -316,7 +316,7 @@ static int hva_dbg_last(struct seq_file *s, void *data)
  	return 0;
  }
 
-static int hva_dbg_regs(struct seq_file *s, void *data)
+static int regs_show(struct seq_file *s, void *data)
  {
  	struct hva_dev *hva = s->private;
 
@@ -325,26 +325,14 @@ static int hva_dbg_regs(struct seq_file *s, void *data)
  	return 0;
  }
 
-#define hva_dbg_declare(name)						  \
-	static int hva_dbg_##name##_open(struct inode *i, struct file *f) \
-	{								  \
-		return single_open(f, hva_dbg_##name, i->i_private);	  \
-	}								  \
-	static const struct file_operations hva_dbg_##name##_fops = {	  \
-		.open		= hva_dbg_##name##_open,		  \
-		.read		= seq_read,				  \
-		.llseek		= seq_lseek,				  \
-		.release	= single_release,			  \
-	}
-
  #define hva_dbg_create_entry(name)					 \
  	debugfs_create_file(#name, 0444, hva->dbg.debugfs_entry, hva, \
-			    &hva_dbg_##name##_fops)
+			    &name##_fops)
 
-hva_dbg_declare(device);
-hva_dbg_declare(encoders);
-hva_dbg_declare(last);
-hva_dbg_declare(regs);
+DEFINE_SHOW_ATTRIBUTE(device);
+DEFINE_SHOW_ATTRIBUTE(encoders);
+DEFINE_SHOW_ATTRIBUTE(last);
+DEFINE_SHOW_ATTRIBUTE(regs);
 
  void hva_debugfs_create(struct hva_dev *hva)
  {
@@ -380,7 +368,7 @@ void hva_debugfs_remove(struct hva_dev *hva)
   * context (instance) debug info
   */
 
-static int hva_dbg_ctx(struct seq_file *s, void *data)
+static int ctx_show(struct seq_file *s, void *data)
  {
  	struct hva_ctx *ctx = s->private;
 
@@ -392,7 +380,7 @@ static int hva_dbg_ctx(struct seq_file *s, void *data)
  	return 0;
  }
 
-hva_dbg_declare(ctx);
+DEFINE_SHOW_ATTRIBUTE(ctx);
 
  void hva_dbg_ctx_create(struct hva_ctx *ctx)
  {
@@ -407,7 +395,7 @@ void hva_dbg_ctx_create(struct hva_ctx *ctx)
 
  	ctx->dbg.debugfs_entry = debugfs_create_file(name, 0444,
  						     hva->dbg.debugfs_entry,
-						     ctx, &hva_dbg_ctx_fops);
+						     ctx, &ctx_fops);
  }
 
  void hva_dbg_ctx_remove(struct hva_ctx *ctx)
author
#2 lore raw
Quoted 10 lines · Fabien DESSENNE

Hi,

The patch itself is OK, but the commit talks about bdisp & hva while the patch is also for fimc-is.
Could you please update the commit header & messages?

BR

Fabien

This file has been split into two.

Thanks,
Yangtao

Quoted 239 lines · Yangtao Li
Quoted 237 lines

We already have the DEFINE_SHOW_ATTRIBUTE.There is no need to define bdisp_dbg_declare and hva_dbg_declare,so remove them.Also use DEFINE_SHOW_ATTRIBUTE to simplify some code.

---
Changes in v2:

(quoted diff) +0 -2
-delete fimc_is_debugfs_open
---
  drivers/media/platform/exynos4-is/fimc-is.c   | 16 ++-------
  .../media/platform/sti/bdisp/bdisp-debug.c    | 34 ++++++------------
  drivers/media/platform/sti/hva/hva-debugfs.c  | 36 +++++++------------
  3 files changed, 26 insertions(+), 60 deletions(-)
drivers/media/platform/exynos4-is/fimc-is.c +3 -13
index f5fc54de19da..02da0b06e56a 100644
@@ -738,7 +738,7 @@ int fimc_is_hw_initialize(struct fimc_is *is)
      return 0;
  }
 
-static int fimc_is_log_show(struct seq_file *s, void *data)
+static int fimc_is_show(struct seq_file *s, void *data)
  {
      struct fimc_is *is = s->private;
      const u8 *buf = is->memory.vaddr + FIMC_IS_DEBUG_REGION_OFFSET;
@@ -752,17 +752,7 @@ static int fimc_is_log_show(struct seq_file *s, void *data)
      return 0;
  }
 
-static int fimc_is_debugfs_open(struct inode *inode, struct file *file)
-{
-     return single_open(file, fimc_is_log_show, inode->i_private);
-}
-
-static const struct file_operations fimc_is_debugfs_fops = {
-     .open           = fimc_is_debugfs_open,
-     .read           = seq_read,
-     .llseek         = seq_lseek,
-     .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(fimc_is);
 
  static void fimc_is_debugfs_remove(struct fimc_is *is)
  {
@@ -777,7 +767,7 @@ static int fimc_is_debugfs_create(struct fimc_is *is)
      is->debugfs_entry = debugfs_create_dir("fimc_is", NULL);
 
      dentry = debugfs_create_file("fw_log", S_IRUGO, is->debugfs_entry,
-                                  is, &fimc_is_debugfs_fops);
+                                  is, &fimc_is_fops);
      if (!dentry)
              fimc_is_debugfs_remove(is);
 
drivers/media/platform/sti/bdisp/bdisp-debug.c +11 -23
index c6a4e2de5c0c..77ca7517fa3e 100644
@@ -315,7 +315,7 @@ static void bdisp_dbg_dump_ivmx(struct seq_file *s,
      seq_puts(s, "Unknown conversion\n");
  }
 
-static int bdisp_dbg_last_nodes(struct seq_file *s, void *data)
+static int last_nodes_show(struct seq_file *s, void *data)
  {
      /* Not dumping all fields, focusing on significant ones */
      struct bdisp_dev *bdisp = s->private;
@@ -388,7 +388,7 @@ static int bdisp_dbg_last_nodes(struct seq_file *s, void *data)
      return 0;
  }
 
-static int bdisp_dbg_last_nodes_raw(struct seq_file *s, void *data)
+static int last_nodes_raw_show(struct seq_file *s, void *data)
  {
      struct bdisp_dev *bdisp = s->private;
      struct bdisp_node *node;
@@ -437,7 +437,7 @@ static const char *bdisp_fmt_to_str(struct bdisp_frame frame)
      }
  }
 
-static int bdisp_dbg_last_request(struct seq_file *s, void *data)
+static int last_request_show(struct seq_file *s, void *data)
  {
      struct bdisp_dev *bdisp = s->private;
      struct bdisp_request *request = &bdisp->dbg.copy_request;
@@ -474,7 +474,7 @@ static int bdisp_dbg_last_request(struct seq_file *s, void *data)
 
  #define DUMP(reg) seq_printf(s, #reg " \t0x%08X\n", readl(bdisp->regs + reg))
 
-static int bdisp_dbg_regs(struct seq_file *s, void *data)
+static int regs_show(struct seq_file *s, void *data)
  {
      struct bdisp_dev *bdisp = s->private;
      int ret;
@@ -582,7 +582,7 @@ static int bdisp_dbg_regs(struct seq_file *s, void *data)
 
  #define SECOND 1000000
 
-static int bdisp_dbg_perf(struct seq_file *s, void *data)
+static int perf_show(struct seq_file *s, void *data)
  {
      struct bdisp_dev *bdisp = s->private;
      struct bdisp_request *request = &bdisp->dbg.copy_request;
@@ -627,27 +627,15 @@ static int bdisp_dbg_perf(struct seq_file *s, void *data)
      return 0;
  }
 
-#define bdisp_dbg_declare(name) \
-     static int bdisp_dbg_##name##_open(struct inode *i, struct file *f) \
-     { \
-             return single_open(f, bdisp_dbg_##name, i->i_private); \
-     } \
-     static const struct file_operations bdisp_dbg_##name##_fops = { \
-             .open           = bdisp_dbg_##name##_open, \
-             .read           = seq_read, \
-             .llseek         = seq_lseek, \
-             .release        = single_release, \
-     }
-
  #define bdisp_dbg_create_entry(name) \
      debugfs_create_file(#name, S_IRUGO, bdisp->dbg.debugfs_entry, bdisp, \
-                         &bdisp_dbg_##name##_fops)
+                         &name##_fops)
 
-bdisp_dbg_declare(regs);
-bdisp_dbg_declare(last_nodes);
-bdisp_dbg_declare(last_nodes_raw);
-bdisp_dbg_declare(last_request);
-bdisp_dbg_declare(perf);
+DEFINE_SHOW_ATTRIBUTE(regs);
+DEFINE_SHOW_ATTRIBUTE(last_nodes);
+DEFINE_SHOW_ATTRIBUTE(last_nodes_raw);
+DEFINE_SHOW_ATTRIBUTE(last_request);
+DEFINE_SHOW_ATTRIBUTE(perf);
 
  int bdisp_debugfs_create(struct bdisp_dev *bdisp)
  {
drivers/media/platform/sti/hva/hva-debugfs.c +12 -24
index 9f7e8ac875d1..7d12a5b5d914 100644
@@ -271,7 +271,7 @@ static void hva_dbg_perf_compute(struct hva_ctx *ctx)
   * device debug info
   */
 
-static int hva_dbg_device(struct seq_file *s, void *data)
+static int device_show(struct seq_file *s, void *data)
  {
      struct hva_dev *hva = s->private;
 
@@ -281,7 +281,7 @@ static int hva_dbg_device(struct seq_file *s, void *data)
      return 0;
  }
 
-static int hva_dbg_encoders(struct seq_file *s, void *data)
+static int encoders_show(struct seq_file *s, void *data)
  {
      struct hva_dev *hva = s->private;
      unsigned int i = 0;
@@ -299,7 +299,7 @@ static int hva_dbg_encoders(struct seq_file *s, void *data)
      return 0;
  }
 
-static int hva_dbg_last(struct seq_file *s, void *data)
+static int last_show(struct seq_file *s, void *data)
  {
      struct hva_dev *hva = s->private;
      struct hva_ctx *last_ctx = &hva->dbg.last_ctx;
@@ -316,7 +316,7 @@ static int hva_dbg_last(struct seq_file *s, void *data)
      return 0;
  }
 
-static int hva_dbg_regs(struct seq_file *s, void *data)
+static int regs_show(struct seq_file *s, void *data)
  {
      struct hva_dev *hva = s->private;
 
@@ -325,26 +325,14 @@ static int hva_dbg_regs(struct seq_file *s, void *data)
      return 0;
  }
 
-#define hva_dbg_declare(name)                                                  \
-     static int hva_dbg_##name##_open(struct inode *i, struct file *f) \
-     {                                                                 \
-             return single_open(f, hva_dbg_##name, i->i_private);      \
-     }                                                                 \
-     static const struct file_operations hva_dbg_##name##_fops = {     \
-             .open           = hva_dbg_##name##_open,                  \
-             .read           = seq_read,                               \
-             .llseek         = seq_lseek,                              \
-             .release        = single_release,                         \
-     }
-
  #define hva_dbg_create_entry(name)                                   \
      debugfs_create_file(#name, 0444, hva->dbg.debugfs_entry, hva, \
-                         &hva_dbg_##name##_fops)
+                         &name##_fops)
 
-hva_dbg_declare(device);
-hva_dbg_declare(encoders);
-hva_dbg_declare(last);
-hva_dbg_declare(regs);
+DEFINE_SHOW_ATTRIBUTE(device);
+DEFINE_SHOW_ATTRIBUTE(encoders);
+DEFINE_SHOW_ATTRIBUTE(last);
+DEFINE_SHOW_ATTRIBUTE(regs);
 
  void hva_debugfs_create(struct hva_dev *hva)
  {
@@ -380,7 +368,7 @@ void hva_debugfs_remove(struct hva_dev *hva)
   * context (instance) debug info
   */
 
-static int hva_dbg_ctx(struct seq_file *s, void *data)
+static int ctx_show(struct seq_file *s, void *data)
  {
      struct hva_ctx *ctx = s->private;
 
@@ -392,7 +380,7 @@ static int hva_dbg_ctx(struct seq_file *s, void *data)
      return 0;
  }
 
-hva_dbg_declare(ctx);
+DEFINE_SHOW_ATTRIBUTE(ctx);
 
  void hva_dbg_ctx_create(struct hva_ctx *ctx)
  {
@@ -407,7 +395,7 @@ void hva_dbg_ctx_create(struct hva_ctx *ctx)
 
      ctx->dbg.debugfs_entry = debugfs_create_file(name, 0444,
                                                   hva->dbg.debugfs_entry,
-                                                  ctx, &hva_dbg_ctx_fops);
+                                                  ctx, &ctx_fops);
  }
 
  void hva_dbg_ctx_remove(struct hva_ctx *ctx)