Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.

Signed-off-by: Yangtao Li <tiny.win...@gmail.com>
---
 drivers/staging/fwserial/fwserial.c           | 32 +++----------------
 drivers/staging/greybus/loopback.c            | 16 ++--------
 drivers/staging/rtlwifi/debug.c               | 23 ++++---------
 .../staging/unisys/visorhba/visorhba_main.c   | 14 +-------
 .../interface/vchiq_arm/vchiq_debugfs.c       | 14 +-------
 5 files changed, 14 insertions(+), 85 deletions(-)

diff --git a/drivers/staging/fwserial/fwserial.c 
b/drivers/staging/fwserial/fwserial.c
index 173f451b86b7..3e416f5bbcba 100644
--- a/drivers/staging/fwserial/fwserial.c
+++ b/drivers/staging/fwserial/fwserial.c
@@ -1458,7 +1458,7 @@ static int fwtty_proc_show(struct seq_file *m, void *v)
        return 0;
 }
 
-static int fwtty_debugfs_stats_show(struct seq_file *m, void *v)
+static int fwtty_stats_show(struct seq_file *m, void *v)
 {
        struct fw_serial *serial = m->private;
        struct fwtty_port *port;
@@ -1476,8 +1476,9 @@ static int fwtty_debugfs_stats_show(struct seq_file *m, 
void *v)
        }
        return 0;
 }
+DEFINE_SHOW_ATTRIBUTE(fwtty_stats);
 
-static int fwtty_debugfs_peers_show(struct seq_file *m, void *v)
+static int fwtty_peers_show(struct seq_file *m, void *v)
 {
        struct fw_serial *serial = m->private;
        struct fwtty_peer *peer;
@@ -1491,32 +1492,7 @@ static int fwtty_debugfs_peers_show(struct seq_file *m, 
void *v)
        rcu_read_unlock();
        return 0;
 }
-
-static int fwtty_stats_open(struct inode *inode, struct file *fp)
-{
-       return single_open(fp, fwtty_debugfs_stats_show, inode->i_private);
-}
-
-static int fwtty_peers_open(struct inode *inode, struct file *fp)
-{
-       return single_open(fp, fwtty_debugfs_peers_show, inode->i_private);
-}
-
-static const struct file_operations fwtty_stats_fops = {
-       .owner =        THIS_MODULE,
-       .open =         fwtty_stats_open,
-       .read =         seq_read,
-       .llseek =       seq_lseek,
-       .release =      single_release,
-};
-
-static const struct file_operations fwtty_peers_fops = {
-       .owner =        THIS_MODULE,
-       .open =         fwtty_peers_open,
-       .read =         seq_read,
-       .llseek =       seq_lseek,
-       .release =      single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(fwtty_peers);
 
 static const struct tty_port_operations fwtty_port_ops = {
        .dtr_rts =              fwtty_port_dtr_rts,
diff --git a/drivers/staging/greybus/loopback.c 
b/drivers/staging/greybus/loopback.c
index 7080294f705c..33cda7527714 100644
--- a/drivers/staging/greybus/loopback.c
+++ b/drivers/staging/greybus/loopback.c
@@ -973,19 +973,7 @@ static int gb_loopback_dbgfs_latency_show(struct seq_file 
*s, void *unused)
        return gb_loopback_dbgfs_latency_show_common(s, &gb->kfifo_lat,
                                                     &gb->mutex);
 }
-
-static int gb_loopback_latency_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, gb_loopback_dbgfs_latency_show,
-                          inode->i_private);
-}
-
-static const struct file_operations gb_loopback_debugfs_latency_ops = {
-       .open           = gb_loopback_latency_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(gb_loopback_dbgfs_latency);
 
 static int gb_loopback_bus_id_compare(void *priv, struct list_head *lha,
                                      struct list_head *lhb)
@@ -1076,7 +1064,7 @@ static int gb_loopback_probe(struct gb_bundle *bundle,
        snprintf(name, sizeof(name), "raw_latency_%s",
                 dev_name(&connection->bundle->dev));
        gb->file = debugfs_create_file(name, S_IFREG | 0444, gb_dev.root, gb,
-                                      &gb_loopback_debugfs_latency_ops);
+                                      &gb_loopback_dbgfs_latency_fops);
 
        gb->id = ida_simple_get(&loopback_ida, 0, 0, GFP_KERNEL);
        if (gb->id < 0) {
diff --git a/drivers/staging/rtlwifi/debug.c b/drivers/staging/rtlwifi/debug.c
index 8999feda29b4..543889923864 100644
--- a/drivers/staging/rtlwifi/debug.c
+++ b/drivers/staging/rtlwifi/debug.c
@@ -79,24 +79,13 @@ struct rtl_debugfs_priv {
 
 static struct dentry *debugfs_topdir;
 
-static int rtl_debug_get_common(struct seq_file *m, void *v)
+static int common_show(struct seq_file *m, void *v)
 {
        struct rtl_debugfs_priv *debugfs_priv = m->private;
 
        return debugfs_priv->cb_read(m, v);
 }
-
-static int dl_debug_open_common(struct inode *inode, struct file *file)
-{
-       return single_open(file, rtl_debug_get_common, inode->i_private);
-}
-
-static const struct file_operations file_ops_common = {
-       .open = dl_debug_open_common,
-       .read = seq_read,
-       .llseek = seq_lseek,
-       .release = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(common);
 
 static int rtl_debug_get_mac_page(struct seq_file *m, void *v)
 {
@@ -439,7 +428,7 @@ static ssize_t rtl_debugfs_common_write(struct file *filp,
        return debugfs_priv->cb_write(filp, buffer, count, loff);
 }
 
-static const struct file_operations file_ops_common_write = {
+static const struct file_operations common_write_fops = {
        .owner = THIS_MODULE,
        .write = rtl_debugfs_common_write,
        .open = simple_open,
@@ -488,7 +477,7 @@ static int rtl_debugfs_open_rw(struct inode *inode, struct 
file *filp)
        int ret = 0;
 
        if (filp->f_mode & FMODE_READ)
-               ret = single_open(filp, rtl_debug_get_common, inode->i_private);
+               ret = single_open(filp, common_show, inode->i_private);
        else
                filp->private_data = inode->i_private;
 
@@ -509,7 +498,7 @@ static struct rtl_debugfs_priv rtl_debug_priv_phydm_cmd = {
        .cb_data = 0,
 };
 
-static const struct file_operations file_ops_common_rw = {
+static const struct file_operations common_rw_fops = {
        .owner = THIS_MODULE,
        .open = rtl_debugfs_open_rw,
        .release = rtl_debugfs_close_rw,
@@ -523,7 +512,7 @@ static const struct file_operations file_ops_common_rw = {
                rtl_debug_priv_ ##name.rtlpriv = rtlpriv;                  \
                debugfs_create_file(#name, mode, parent,                   \
                                    &rtl_debug_priv_ ##name,               \
-                                   &file_ops_ ##fopname);                 \
+                                   &fopname ##fops);                      \
        } while (0)
 
 #define RTL_DEBUGFS_ADD(name)                                             \
diff --git a/drivers/staging/unisys/visorhba/visorhba_main.c 
b/drivers/staging/unisys/visorhba/visorhba_main.c
index 4fc521c51c0e..d0fed63c13a2 100644
--- a/drivers/staging/unisys/visorhba/visorhba_main.c
+++ b/drivers/staging/unisys/visorhba/visorhba_main.c
@@ -681,19 +681,7 @@ static int info_debugfs_show(struct seq_file *seq, void *v)
 
        return 0;
 }
-
-static int info_debugfs_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, info_debugfs_show, inode->i_private);
-}
-
-static const struct file_operations info_debugfs_fops = {
-       .owner = THIS_MODULE,
-       .open = info_debugfs_open,
-       .read = seq_read,
-       .llseek = seq_lseek,
-       .release = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(info_debugfs);
 
 /*
  * complete_taskmgmt_command - Complete task management
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c 
b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
index 6a9e71a61142..46ba21967820 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
@@ -153,19 +153,7 @@ static int debugfs_usecount_show(struct seq_file *f, void 
*offset)
 
        return 0;
 }
-
-static int debugfs_usecount_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, debugfs_usecount_show, inode->i_private);
-}
-
-static const struct file_operations debugfs_usecount_fops = {
-       .owner          = THIS_MODULE,
-       .open           = debugfs_usecount_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(debugfs_usecount);
 
 static int debugfs_trace_show(struct seq_file *f, void *offset)
 {
-- 
2.17.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to