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 /drivers/hid | |
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 'drivers/hid')
-rw-r--r-- | drivers/hid/hid-picolcd.c | 16 | ||||
-rw-r--r-- | drivers/hid/hid-wiimote-debug.c | 8 |
2 files changed, 3 insertions, 21 deletions
diff --git a/drivers/hid/hid-picolcd.c b/drivers/hid/hid-picolcd.c index 12f9777c385d..45c3433f7986 100644 --- a/drivers/hid/hid-picolcd.c +++ b/drivers/hid/hid-picolcd.c | |||
@@ -1525,12 +1525,6 @@ static const struct file_operations picolcd_debug_reset_fops = { | |||
1525 | /* | 1525 | /* |
1526 | * The "eeprom" file | 1526 | * The "eeprom" file |
1527 | */ | 1527 | */ |
1528 | static int picolcd_debug_eeprom_open(struct inode *i, struct file *f) | ||
1529 | { | ||
1530 | f->private_data = i->i_private; | ||
1531 | return 0; | ||
1532 | } | ||
1533 | |||
1534 | static ssize_t picolcd_debug_eeprom_read(struct file *f, char __user *u, | 1528 | static ssize_t picolcd_debug_eeprom_read(struct file *f, char __user *u, |
1535 | size_t s, loff_t *off) | 1529 | size_t s, loff_t *off) |
1536 | { | 1530 | { |
@@ -1618,7 +1612,7 @@ static ssize_t picolcd_debug_eeprom_write(struct file *f, const char __user *u, | |||
1618 | */ | 1612 | */ |
1619 | static const struct file_operations picolcd_debug_eeprom_fops = { | 1613 | static const struct file_operations picolcd_debug_eeprom_fops = { |
1620 | .owner = THIS_MODULE, | 1614 | .owner = THIS_MODULE, |
1621 | .open = picolcd_debug_eeprom_open, | 1615 | .open = simple_open, |
1622 | .read = picolcd_debug_eeprom_read, | 1616 | .read = picolcd_debug_eeprom_read, |
1623 | .write = picolcd_debug_eeprom_write, | 1617 | .write = picolcd_debug_eeprom_write, |
1624 | .llseek = generic_file_llseek, | 1618 | .llseek = generic_file_llseek, |
@@ -1627,12 +1621,6 @@ static const struct file_operations picolcd_debug_eeprom_fops = { | |||
1627 | /* | 1621 | /* |
1628 | * The "flash" file | 1622 | * The "flash" file |
1629 | */ | 1623 | */ |
1630 | static int picolcd_debug_flash_open(struct inode *i, struct file *f) | ||
1631 | { | ||
1632 | f->private_data = i->i_private; | ||
1633 | return 0; | ||
1634 | } | ||
1635 | |||
1636 | /* record a flash address to buf (bounds check to be done by caller) */ | 1624 | /* record a flash address to buf (bounds check to be done by caller) */ |
1637 | static int _picolcd_flash_setaddr(struct picolcd_data *data, u8 *buf, long off) | 1625 | static int _picolcd_flash_setaddr(struct picolcd_data *data, u8 *buf, long off) |
1638 | { | 1626 | { |
@@ -1817,7 +1805,7 @@ static ssize_t picolcd_debug_flash_write(struct file *f, const char __user *u, | |||
1817 | */ | 1805 | */ |
1818 | static const struct file_operations picolcd_debug_flash_fops = { | 1806 | static const struct file_operations picolcd_debug_flash_fops = { |
1819 | .owner = THIS_MODULE, | 1807 | .owner = THIS_MODULE, |
1820 | .open = picolcd_debug_flash_open, | 1808 | .open = simple_open, |
1821 | .read = picolcd_debug_flash_read, | 1809 | .read = picolcd_debug_flash_read, |
1822 | .write = picolcd_debug_flash_write, | 1810 | .write = picolcd_debug_flash_write, |
1823 | .llseek = generic_file_llseek, | 1811 | .llseek = generic_file_llseek, |
diff --git a/drivers/hid/hid-wiimote-debug.c b/drivers/hid/hid-wiimote-debug.c index 17dabc1f339e..eec329197c16 100644 --- a/drivers/hid/hid-wiimote-debug.c +++ b/drivers/hid/hid-wiimote-debug.c | |||
@@ -23,12 +23,6 @@ struct wiimote_debug { | |||
23 | struct dentry *drm; | 23 | struct dentry *drm; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | static int wiidebug_eeprom_open(struct inode *i, struct file *f) | ||
27 | { | ||
28 | f->private_data = i->i_private; | ||
29 | return 0; | ||
30 | } | ||
31 | |||
32 | static ssize_t wiidebug_eeprom_read(struct file *f, char __user *u, size_t s, | 26 | static ssize_t wiidebug_eeprom_read(struct file *f, char __user *u, size_t s, |
33 | loff_t *off) | 27 | loff_t *off) |
34 | { | 28 | { |
@@ -83,7 +77,7 @@ static ssize_t wiidebug_eeprom_read(struct file *f, char __user *u, size_t s, | |||
83 | 77 | ||
84 | static const struct file_operations wiidebug_eeprom_fops = { | 78 | static const struct file_operations wiidebug_eeprom_fops = { |
85 | .owner = THIS_MODULE, | 79 | .owner = THIS_MODULE, |
86 | .open = wiidebug_eeprom_open, | 80 | .open = simple_open, |
87 | .read = wiidebug_eeprom_read, | 81 | .read = wiidebug_eeprom_read, |
88 | .llseek = generic_file_llseek, | 82 | .llseek = generic_file_llseek, |
89 | }; | 83 | }; |