On 2020/9/17 20:23, Qinglang Miao wrote:
> Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.
> 
> As inode->iprivate equals to third parameter of
> debugfs_create_file() which is NULL. So it's equivalent
> to original code logic.
> 
> Signed-off-by: Qinglang Miao <miaoqingl...@huawei.com>
> ---
> v2: based on linux-next(20200917), and can be applied to
>     mainline cleanly now.


Added into my test queue. Thanks.

Coly Li


> 
>  drivers/md/bcache/closure.c | 16 +++-------------
>  1 file changed, 3 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
> index 0164a1fe9..d8d9394a6 100644
> --- a/drivers/md/bcache/closure.c
> +++ b/drivers/md/bcache/closure.c
> @@ -159,7 +159,7 @@ void closure_debug_destroy(struct closure *cl)
>  
>  static struct dentry *closure_debug;
>  
> -static int debug_seq_show(struct seq_file *f, void *data)
> +static int debug_show(struct seq_file *f, void *data)
>  {
>       struct closure *cl;
>  
> @@ -188,17 +188,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
>       return 0;
>  }
>  
> -static int debug_seq_open(struct inode *inode, struct file *file)
> -{
> -     return single_open(file, debug_seq_show, NULL);
> -}
> -
> -static const struct file_operations debug_ops = {
> -     .owner          = THIS_MODULE,
> -     .open           = debug_seq_open,
> -     .read           = seq_read,
> -     .release        = single_release
> -};
> +DEFINE_SHOW_ATTRIBUTE(debug);
>  
>  void  __init closure_debug_init(void)
>  {
> @@ -209,7 +199,7 @@ void  __init closure_debug_init(void)
>                * about this.
>                */
>               closure_debug = debugfs_create_file(
> -                     "closures", 0400, bcache_debug, NULL, &debug_ops);
> +                     "closures", 0400, bcache_debug, NULL, &debug_fops);
>  }
>  #endif
>  
> 

Reply via email to