clk: Re-use DEFINE_SHOW_ATTRIBUTE() macro
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 14 Feb 2018 15:48:00 +0000 (17:48 +0200)
committerStephen Boyd <sboyd@kernel.org>
Mon, 19 Mar 2018 17:50:52 +0000 (10:50 -0700)
...instead of open coding file operations followed by custom ->open()
callbacks per each attribute.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk.c

index 0f686a9dac3e78212b390ab985e1c571557c65f0..cc97b18ac31fa62688c00571c79d356d111c4671 100644 (file)
@@ -2486,19 +2486,7 @@ static int clk_summary_show(struct seq_file *s, void *data)
 
        return 0;
 }
-
-
-static int clk_summary_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, clk_summary_show, inode->i_private);
-}
-
-static const struct file_operations clk_summary_fops = {
-       .open           = clk_summary_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(clk_summary);
 
 static void clk_dump_one(struct seq_file *s, struct clk_core *c, int level)
 {
@@ -2532,7 +2520,7 @@ static void clk_dump_subtree(struct seq_file *s, struct clk_core *c, int level)
        seq_putc(s, '}');
 }
 
-static int clk_dump(struct seq_file *s, void *data)
+static int clk_dump_show(struct seq_file *s, void *data)
 {
        struct clk_core *c;
        bool first_node = true;
@@ -2555,19 +2543,7 @@ static int clk_dump(struct seq_file *s, void *data)
        seq_puts(s, "}\n");
        return 0;
 }
-
-
-static int clk_dump_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, clk_dump, inode->i_private);
-}
-
-static const struct file_operations clk_dump_fops = {
-       .open           = clk_dump_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(clk_dump);
 
 static const struct {
        unsigned long flag;
@@ -2589,7 +2565,7 @@ static const struct {
 #undef ENTRY
 };
 
-static int clk_flags_dump(struct seq_file *s, void *data)
+static int clk_flags_show(struct seq_file *s, void *data)
 {
        struct clk_core *core = s->private;
        unsigned long flags = core->flags;
@@ -2608,20 +2584,9 @@ static int clk_flags_dump(struct seq_file *s, void *data)
 
        return 0;
 }
+DEFINE_SHOW_ATTRIBUTE(clk_flags);
 
-static int clk_flags_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, clk_flags_dump, inode->i_private);
-}
-
-static const struct file_operations clk_flags_fops = {
-       .open           = clk_flags_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
-
-static int possible_parents_dump(struct seq_file *s, void *data)
+static int possible_parents_show(struct seq_file *s, void *data)
 {
        struct clk_core *core = s->private;
        int i;
@@ -2633,18 +2598,7 @@ static int possible_parents_dump(struct seq_file *s, void *data)
 
        return 0;
 }
-
-static int possible_parents_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, possible_parents_dump, inode->i_private);
-}
-
-static const struct file_operations possible_parents_fops = {
-       .open           = possible_parents_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(possible_parents);
 
 static int clk_debug_create_one(struct clk_core *core, struct dentry *pdentry)
 {