@@ -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,
@@ -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) {
@@ -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) \
@@ -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
@@ -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)
{
Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code. Signed-off-by: Yangtao Li <tiny.windzz@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(-)