diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2012-04-05 17:25:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-04-05 18:25:50 -0400 |
commit | 234e340582901211f40d8c732afc49f0630ecf05 (patch) | |
tree | 753076500dfd883b3db56d4f5410af31d8945623 /net/wireless/debugfs.c | |
parent | 9b3ae64be658a573b33d05a8dc73b08d3345fa44 (diff) |
simple_open: automatically convert to simple_open()
Many users of debugfs copy the implementation of default_open() when
they want to support a custom read/write function op. This leads to a
proliferation of the default_open() implementation across the entire
tree.
Now that the common implementation has been consolidated into libfs we
can replace all the users of this function with simple_open().
This replacement was done with the following semantic patch:
<smpl>
@ open @
identifier open_f != simple_open;
identifier i, f;
@@
-int open_f(struct inode *i, struct file *f)
-{
(
-if (i->i_private)
-f->private_data = i->i_private;
|
-f->private_data = i->i_private;
)
-return 0;
-}
@ has_open depends on open @
identifier fops;
identifier open.open_f;
@@
struct file_operations fops = {
...
-.open = open_f,
+.open = simple_open,
...
};
</smpl>
[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net/wireless/debugfs.c')
-rw-r--r-- | net/wireless/debugfs.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/net/wireless/debugfs.c b/net/wireless/debugfs.c index 39765bcfb472..920cabe0461b 100644 --- a/net/wireless/debugfs.c +++ b/net/wireless/debugfs.c | |||
@@ -13,12 +13,6 @@ | |||
13 | #include "core.h" | 13 | #include "core.h" |
14 | #include "debugfs.h" | 14 | #include "debugfs.h" |
15 | 15 | ||
16 | static int cfg80211_open_file_generic(struct inode *inode, struct file *file) | ||
17 | { | ||
18 | file->private_data = inode->i_private; | ||
19 | return 0; | ||
20 | } | ||
21 | |||
22 | #define DEBUGFS_READONLY_FILE(name, buflen, fmt, value...) \ | 16 | #define DEBUGFS_READONLY_FILE(name, buflen, fmt, value...) \ |
23 | static ssize_t name## _read(struct file *file, char __user *userbuf, \ | 17 | static ssize_t name## _read(struct file *file, char __user *userbuf, \ |
24 | size_t count, loff_t *ppos) \ | 18 | size_t count, loff_t *ppos) \ |
@@ -33,7 +27,7 @@ static ssize_t name## _read(struct file *file, char __user *userbuf, \ | |||
33 | \ | 27 | \ |
34 | static const struct file_operations name## _ops = { \ | 28 | static const struct file_operations name## _ops = { \ |
35 | .read = name## _read, \ | 29 | .read = name## _read, \ |
36 | .open = cfg80211_open_file_generic, \ | 30 | .open = simple_open, \ |
37 | .llseek = generic_file_llseek, \ | 31 | .llseek = generic_file_llseek, \ |
38 | }; | 32 | }; |
39 | 33 | ||
@@ -102,7 +96,7 @@ static ssize_t ht40allow_map_read(struct file *file, | |||
102 | 96 | ||
103 | static const struct file_operations ht40allow_map_ops = { | 97 | static const struct file_operations ht40allow_map_ops = { |
104 | .read = ht40allow_map_read, | 98 | .read = ht40allow_map_read, |
105 | .open = cfg80211_open_file_generic, | 99 | .open = simple_open, |
106 | .llseek = default_llseek, | 100 | .llseek = default_llseek, |
107 | }; | 101 | }; |
108 | 102 | ||