...instead of open coding file operations followed by custom ->open()
callbacks per each attribute.

Cc: Heikki Krogerus <heikki.kroge...@linux.intel.com>
Cc: Guenter Roeck <li...@roeck-us.net>
Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
---
 drivers/usb/typec/fusb302/fusb302.c | 17 +++--------------
 drivers/usb/typec/tcpm.c            | 17 +++--------------
 2 files changed, 6 insertions(+), 28 deletions(-)

diff --git a/drivers/usb/typec/fusb302/fusb302.c 
b/drivers/usb/typec/fusb302/fusb302.c
index 9ce4756adad6..da179aaf789e 100644
--- a/drivers/usb/typec/fusb302/fusb302.c
+++ b/drivers/usb/typec/fusb302/fusb302.c
@@ -199,7 +199,7 @@ static void fusb302_log(struct fusb302_chip *chip, const 
char *fmt, ...)
        va_end(args);
 }
 
-static int fusb302_seq_show(struct seq_file *s, void *v)
+static int fusb302_debug_show(struct seq_file *s, void *v)
 {
        struct fusb302_chip *chip = (struct fusb302_chip *)s->private;
        int tail;
@@ -216,18 +216,7 @@ static int fusb302_seq_show(struct seq_file *s, void *v)
 
        return 0;
 }
-
-static int fusb302_debug_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, fusb302_seq_show, inode->i_private);
-}
-
-static const struct file_operations fusb302_debug_operations = {
-       .open           = fusb302_debug_open,
-       .llseek         = seq_lseek,
-       .read           = seq_read,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(fusb302_debug);
 
 static struct dentry *rootdir;
 
@@ -242,7 +231,7 @@ static int fusb302_debugfs_init(struct fusb302_chip *chip)
 
        chip->dentry = debugfs_create_file(dev_name(chip->dev),
                                           S_IFREG | 0444, rootdir,
-                                          chip, &fusb302_debug_operations);
+                                          chip, &fusb302_debug_fops);
 
        return 0;
 }
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index f4d563ee7690..a163ba55b061 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -506,7 +506,7 @@ static void tcpm_log_source_caps(struct tcpm_port *port)
        }
 }
 
-static int tcpm_seq_show(struct seq_file *s, void *v)
+static int tcpm_debug_show(struct seq_file *s, void *v)
 {
        struct tcpm_port *port = (struct tcpm_port *)s->private;
        int tail;
@@ -523,18 +523,7 @@ static int tcpm_seq_show(struct seq_file *s, void *v)
 
        return 0;
 }
-
-static int tcpm_debug_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, tcpm_seq_show, inode->i_private);
-}
-
-static const struct file_operations tcpm_debug_operations = {
-       .open           = tcpm_debug_open,
-       .llseek         = seq_lseek,
-       .read           = seq_read,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(tcpm_debug);
 
 static struct dentry *rootdir;
 
@@ -550,7 +539,7 @@ static int tcpm_debugfs_init(struct tcpm_port *port)
 
        port->dentry = debugfs_create_file(dev_name(port->dev),
                                           S_IFREG | 0444, rootdir,
-                                          port, &tcpm_debug_operations);
+                                          port, &tcpm_debug_fops);
 
        return 0;
 }
-- 
2.15.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to