Messages in this thread | | | Subject | Re: [PATCH -next v2] powerpc/mm: ptdump: Convert to DEFINE_SHOW_ATTRIBUTE | From | Christophe Leroy <> | Date | Mon, 12 Oct 2020 13:02:58 +0200 |
| |
Hi,
Le 19/09/2020 à 03:29, Qinglang Miao a écrit : > Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code. > > Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com> > --- > v2: based on linux-next(20200917), and can be applied to > mainline cleanly now.
After the removal of powerpc 601, this patch needs to be rebased (as of linux-next 20201012)
I think now, bats_show_603() should simply be renamed bats_show()
Christophe
> > arch/powerpc/mm/ptdump/bats.c | 24 +++++++----------------- > arch/powerpc/mm/ptdump/hashpagetable.c | 12 +----------- > arch/powerpc/mm/ptdump/ptdump.c | 13 +------------ > arch/powerpc/mm/ptdump/segment_regs.c | 12 +----------- > 4 files changed, 10 insertions(+), 51 deletions(-) > > diff --git a/arch/powerpc/mm/ptdump/bats.c b/arch/powerpc/mm/ptdump/bats.c > index e29b338d4..a24495e93 100644 > --- a/arch/powerpc/mm/ptdump/bats.c > +++ b/arch/powerpc/mm/ptdump/bats.c > @@ -56,7 +56,7 @@ static void bat_show_601(struct seq_file *m, int idx, u32 lower, u32 upper) > > #define BAT_SHOW_601(_m, _n, _l, _u) bat_show_601(_m, _n, mfspr(_l), mfspr(_u)) > > -static int bats_show_601(struct seq_file *m, void *v) > +static int bats_601_show(struct seq_file *m, void *v) > { > seq_puts(m, "---[ Block Address Translation ]---\n"); > > @@ -113,7 +113,7 @@ static void bat_show_603(struct seq_file *m, int idx, u32 lower, u32 upper, bool > > #define BAT_SHOW_603(_m, _n, _l, _u, _d) bat_show_603(_m, _n, mfspr(_l), mfspr(_u), _d) > > -static int bats_show_603(struct seq_file *m, void *v) > +static int bats_603_show(struct seq_file *m, void *v) > { > seq_puts(m, "---[ Instruction Block Address Translation ]---\n"); > > @@ -144,25 +144,15 @@ static int bats_show_603(struct seq_file *m, void *v) > return 0; > } > > -static int bats_open(struct inode *inode, struct file *file) > -{ > - if (IS_ENABLED(CONFIG_PPC_BOOK3S_601)) > - return single_open(file, bats_show_601, NULL); > - > - return single_open(file, bats_show_603, NULL); > -} > - > -static const struct file_operations bats_fops = { > - .open = bats_open, > - .read = seq_read, > - .llseek = seq_lseek, > - .release = single_release, > -}; > +DEFINE_SHOW_ATTRIBUTE(bats_601); > +DEFINE_SHOW_ATTRIBUTE(bats_603); > > static int __init bats_init(void) > { > debugfs_create_file("block_address_translation", 0400, > - powerpc_debugfs_root, NULL, &bats_fops); > + powerpc_debugfs_root, NULL, > + IS_ENABLED(CONFIG_PPC_BOOK3S_601) ? > + &bats_601_fops : & bats_603_fops); > return 0; > } > device_initcall(bats_init); > diff --git a/arch/powerpc/mm/ptdump/hashpagetable.c b/arch/powerpc/mm/ptdump/hashpagetable.c > index ad6df9a2e..c7f824d29 100644 > --- a/arch/powerpc/mm/ptdump/hashpagetable.c > +++ b/arch/powerpc/mm/ptdump/hashpagetable.c > @@ -526,17 +526,7 @@ static int ptdump_show(struct seq_file *m, void *v) > return 0; > } > > -static int ptdump_open(struct inode *inode, struct file *file) > -{ > - return single_open(file, ptdump_show, NULL); > -} > - > -static const struct file_operations ptdump_fops = { > - .open = ptdump_open, > - .read = seq_read, > - .llseek = seq_lseek, > - .release = single_release, > -}; > +DEFINE_SHOW_ATTRIBUTE(ptdump); > > static int ptdump_init(void) > { > diff --git a/arch/powerpc/mm/ptdump/ptdump.c b/arch/powerpc/mm/ptdump/ptdump.c > index aca354fb6..6bbf85ff2 100644 > --- a/arch/powerpc/mm/ptdump/ptdump.c > +++ b/arch/powerpc/mm/ptdump/ptdump.c > @@ -413,18 +413,7 @@ static int ptdump_show(struct seq_file *m, void *v) > return 0; > } > > - > -static int ptdump_open(struct inode *inode, struct file *file) > -{ > - return single_open(file, ptdump_show, NULL); > -} > - > -static const struct file_operations ptdump_fops = { > - .open = ptdump_open, > - .read = seq_read, > - .llseek = seq_lseek, > - .release = single_release, > -}; > +DEFINE_SHOW_ATTRIBUTE(ptdump); > > static void build_pgtable_complete_mask(void) > { > diff --git a/arch/powerpc/mm/ptdump/segment_regs.c b/arch/powerpc/mm/ptdump/segment_regs.c > index dde2fe8de..9e870d44c 100644 > --- a/arch/powerpc/mm/ptdump/segment_regs.c > +++ b/arch/powerpc/mm/ptdump/segment_regs.c > @@ -41,17 +41,7 @@ static int sr_show(struct seq_file *m, void *v) > return 0; > } > > -static int sr_open(struct inode *inode, struct file *file) > -{ > - return single_open(file, sr_show, NULL); > -} > - > -static const struct file_operations sr_fops = { > - .open = sr_open, > - .read = seq_read, > - .llseek = seq_lseek, > - .release = single_release, > -}; > +DEFINE_SHOW_ATTRIBUTE(sr); > > static int __init sr_init(void) > { >
| |