2018-12-02 02:05:24

by Frank Lee

[permalink] [raw]
Subject: [PATCH v2] 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.

Signed-off-by: Yangtao Li <[email protected]>
---
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(-)

diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c
index f5fc54de19da..02da0b06e56a 100644
--- a/drivers/media/platform/exynos4-is/fimc-is.c
+++ b/drivers/media/platform/exynos4-is/fimc-is.c
@@ -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);

diff --git a/drivers/media/platform/sti/bdisp/bdisp-debug.c b/drivers/media/platform/sti/bdisp/bdisp-debug.c
index c6a4e2de5c0c..77ca7517fa3e 100644
--- a/drivers/media/platform/sti/bdisp/bdisp-debug.c
+++ b/drivers/media/platform/sti/bdisp/bdisp-debug.c
@@ -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)
{
diff --git a/drivers/media/platform/sti/hva/hva-debugfs.c b/drivers/media/platform/sti/hva/hva-debugfs.c
index 9f7e8ac875d1..7d12a5b5d914 100644
--- a/drivers/media/platform/sti/hva/hva-debugfs.c
+++ b/drivers/media/platform/sti/hva/hva-debugfs.c
@@ -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)
--
2.17.0



2018-12-06 11:50:35

by Fabien DESSENNE

[permalink] [raw]
Subject: Re: [PATCH v2] media: remove bdisp_dbg_declare() and hva_dbg_declare()

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

On 02/12/2018 3:04 AM, Yangtao Li wrote:
> 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.
>
> Signed-off-by: Yangtao Li <[email protected]>
> ---
> 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(-)
>
> diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c
> index f5fc54de19da..02da0b06e56a 100644
> --- a/drivers/media/platform/exynos4-is/fimc-is.c
> +++ b/drivers/media/platform/exynos4-is/fimc-is.c
> @@ -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);
>
> diff --git a/drivers/media/platform/sti/bdisp/bdisp-debug.c b/drivers/media/platform/sti/bdisp/bdisp-debug.c
> index c6a4e2de5c0c..77ca7517fa3e 100644
> --- a/drivers/media/platform/sti/bdisp/bdisp-debug.c
> +++ b/drivers/media/platform/sti/bdisp/bdisp-debug.c
> @@ -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)
> {
> diff --git a/drivers/media/platform/sti/hva/hva-debugfs.c b/drivers/media/platform/sti/hva/hva-debugfs.c
> index 9f7e8ac875d1..7d12a5b5d914 100644
> --- a/drivers/media/platform/sti/hva/hva-debugfs.c
> +++ b/drivers/media/platform/sti/hva/hva-debugfs.c
> @@ -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)

2018-12-12 16:31:04

by Frank Lee

[permalink] [raw]
Subject: Re: [PATCH v2] media: remove bdisp_dbg_declare() and hva_dbg_declare()

On Thu, Dec 6, 2018 at 7:49 PM Fabien DESSENNE <[email protected]> wrote:
>
> 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
>
> On 02/12/2018 3:04 AM, Yangtao Li wrote:
> > 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.
> >
> > Signed-off-by: Yangtao Li <[email protected]>
> > ---
> > 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(-)
> >
> > diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c
> > index f5fc54de19da..02da0b06e56a 100644
> > --- a/drivers/media/platform/exynos4-is/fimc-is.c
> > +++ b/drivers/media/platform/exynos4-is/fimc-is.c
> > @@ -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);
> >
> > diff --git a/drivers/media/platform/sti/bdisp/bdisp-debug.c b/drivers/media/platform/sti/bdisp/bdisp-debug.c
> > index c6a4e2de5c0c..77ca7517fa3e 100644
> > --- a/drivers/media/platform/sti/bdisp/bdisp-debug.c
> > +++ b/drivers/media/platform/sti/bdisp/bdisp-debug.c
> > @@ -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)
> > {
> > diff --git a/drivers/media/platform/sti/hva/hva-debugfs.c b/drivers/media/platform/sti/hva/hva-debugfs.c
> > index 9f7e8ac875d1..7d12a5b5d914 100644
> > --- a/drivers/media/platform/sti/hva/hva-debugfs.c
> > +++ b/drivers/media/platform/sti/hva/hva-debugfs.c
> > @@ -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)