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 <tiny.windzz@xxxxxxxxx> > --- > 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)