diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-21 18:44:56 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-22 14:05:42 -0400 |
commit | b8a9f44fea2b97f34d95f983ecf5f1072632b421 (patch) | |
tree | 1dfa48227bd1c471fe741abfbe974c5e3508c28b /drivers/w1 | |
parent | 36c27a655a531f16b5567066600f0ea7fcb973b4 (diff) |
w1: slaves: w1_therm: convert to use w1_family_ops.groups
This moves the sysfs file creation/removal to the w1 core by using the
.groups field, saving code in the slave driver.
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
Cc: David Stevenson <david@avoncliff.com>
Cc: Alexander Stein <alexander.stein@informatik.tu-chemnitz.de>
Cc: Michael Arndt <michael@scriptkiller.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/w1')
-rw-r--r-- | drivers/w1/slaves/w1_therm.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/w1/slaves/w1_therm.c b/drivers/w1/slaves/w1_therm.c index 8978360bd387..8b5ff33f72cf 100644 --- a/drivers/w1/slaves/w1_therm.c +++ b/drivers/w1/slaves/w1_therm.c | |||
@@ -59,25 +59,19 @@ static int w1_strong_pullup = 1; | |||
59 | module_param_named(strong_pullup, w1_strong_pullup, int, 0); | 59 | module_param_named(strong_pullup, w1_strong_pullup, int, 0); |
60 | 60 | ||
61 | 61 | ||
62 | static ssize_t w1_therm_read(struct device *device, | 62 | static ssize_t w1_slave_show(struct device *device, |
63 | struct device_attribute *attr, char *buf); | 63 | struct device_attribute *attr, char *buf); |
64 | 64 | ||
65 | static struct device_attribute w1_therm_attr = | 65 | static DEVICE_ATTR_RO(w1_slave); |
66 | __ATTR(w1_slave, S_IRUGO, w1_therm_read, NULL); | ||
67 | 66 | ||
68 | static int w1_therm_add_slave(struct w1_slave *sl) | 67 | static struct attribute *w1_therm_attrs[] = { |
69 | { | 68 | &dev_attr_w1_slave.attr, |
70 | return device_create_file(&sl->dev, &w1_therm_attr); | 69 | NULL, |
71 | } | 70 | }; |
72 | 71 | ATTRIBUTE_GROUPS(w1_therm); | |
73 | static void w1_therm_remove_slave(struct w1_slave *sl) | ||
74 | { | ||
75 | device_remove_file(&sl->dev, &w1_therm_attr); | ||
76 | } | ||
77 | 72 | ||
78 | static struct w1_family_ops w1_therm_fops = { | 73 | static struct w1_family_ops w1_therm_fops = { |
79 | .add_slave = w1_therm_add_slave, | 74 | .groups = w1_therm_groups, |
80 | .remove_slave = w1_therm_remove_slave, | ||
81 | }; | 75 | }; |
82 | 76 | ||
83 | static struct w1_family w1_therm_family_DS18S20 = { | 77 | static struct w1_family w1_therm_family_DS18S20 = { |
@@ -178,7 +172,7 @@ static inline int w1_convert_temp(u8 rom[9], u8 fid) | |||
178 | } | 172 | } |
179 | 173 | ||
180 | 174 | ||
181 | static ssize_t w1_therm_read(struct device *device, | 175 | static ssize_t w1_slave_show(struct device *device, |
182 | struct device_attribute *attr, char *buf) | 176 | struct device_attribute *attr, char *buf) |
183 | { | 177 | { |
184 | struct w1_slave *sl = dev_to_w1_slave(device); | 178 | struct w1_slave *sl = dev_to_w1_slave(device); |