USB: chipidea: Re-use DEFINE_SHOW_ATTRIBUTE() macro
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 14 Feb 2018 16:08:17 +0000 (18:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Mar 2018 17:27:55 +0000 (09:27 -0800)
...instead of open coding file operations followed by custom ->open()
callbacks per each attribute.

Cc: Peter Chen <Peter.Chen@nxp.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/debug.c

index c9e1a16..ce648cb 100644 (file)
@@ -45,18 +45,7 @@ static int ci_device_show(struct seq_file *s, void *data)
 
        return 0;
 }
-
-static int ci_device_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, ci_device_show, inode->i_private);
-}
-
-static const struct file_operations ci_device_fops = {
-       .open           = ci_device_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(ci_device);
 
 /**
  * ci_port_test_show: reads port test mode
@@ -156,18 +145,7 @@ static int ci_qheads_show(struct seq_file *s, void *data)
 
        return 0;
 }
-
-static int ci_qheads_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, ci_qheads_show, inode->i_private);
-}
-
-static const struct file_operations ci_qheads_fops = {
-       .open           = ci_qheads_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(ci_qheads);
 
 /**
  * ci_requests_show: DMA contents of all requests currently queued (all endpts)
@@ -204,18 +182,7 @@ static int ci_requests_show(struct seq_file *s, void *data)
 
        return 0;
 }
-
-static int ci_requests_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, ci_requests_show, inode->i_private);
-}
-
-static const struct file_operations ci_requests_fops = {
-       .open           = ci_requests_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(ci_requests);
 
 static int ci_otg_show(struct seq_file *s, void *unused)
 {
@@ -278,18 +245,7 @@ static int ci_otg_show(struct seq_file *s, void *unused)
 
        return 0;
 }
-
-static int ci_otg_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, ci_otg_show, inode->i_private);
-}
-
-static const struct file_operations ci_otg_fops = {
-       .open                   = ci_otg_open,
-       .read                   = seq_read,
-       .llseek                 = seq_lseek,
-       .release                = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(ci_otg);
 
 static int ci_role_show(struct seq_file *s, void *data)
 {
@@ -376,18 +332,7 @@ static int ci_registers_show(struct seq_file *s, void *unused)
 
        return 0;
 }
-
-static int ci_registers_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, ci_registers_show, inode->i_private);
-}
-
-static const struct file_operations ci_registers_fops = {
-       .open                   = ci_registers_open,
-       .read                   = seq_read,
-       .llseek                 = seq_lseek,
-       .release                = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(ci_registers);
 
 /**
  * dbg_create_files: initializes the attribute interface