aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/nodemgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ieee1394/nodemgr.c')
-rw-r--r--drivers/ieee1394/nodemgr.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c
index 83e66ed97ab5..32abb6dda888 100644
--- a/drivers/ieee1394/nodemgr.c
+++ b/drivers/ieee1394/nodemgr.c
@@ -220,7 +220,7 @@ struct device nodemgr_dev_template_host = {
220 220
221 221
222#define fw_attr(class, class_type, field, type, format_string) \ 222#define fw_attr(class, class_type, field, type, format_string) \
223static ssize_t fw_show_##class##_##field (struct device *dev, char *buf)\ 223static ssize_t fw_show_##class##_##field (struct device *dev, struct device_attribute *attr, char *buf)\
224{ \ 224{ \
225 class_type *class; \ 225 class_type *class; \
226 class = container_of(dev, class_type, device); \ 226 class = container_of(dev, class_type, device); \
@@ -232,7 +232,7 @@ static struct device_attribute dev_attr_##class##_##field = { \
232}; 232};
233 233
234#define fw_attr_td(class, class_type, td_kv) \ 234#define fw_attr_td(class, class_type, td_kv) \
235static ssize_t fw_show_##class##_##td_kv (struct device *dev, char *buf)\ 235static ssize_t fw_show_##class##_##td_kv (struct device *dev, struct device_attribute *attr, char *buf)\
236{ \ 236{ \
237 int len; \ 237 int len; \
238 class_type *class = container_of(dev, class_type, device); \ 238 class_type *class = container_of(dev, class_type, device); \
@@ -265,7 +265,7 @@ static struct driver_attribute driver_attr_drv_##field = { \
265}; 265};
266 266
267 267
268static ssize_t fw_show_ne_bus_options(struct device *dev, char *buf) 268static ssize_t fw_show_ne_bus_options(struct device *dev, struct device_attribute *attr, char *buf)
269{ 269{
270 struct node_entry *ne = container_of(dev, struct node_entry, device); 270 struct node_entry *ne = container_of(dev, struct node_entry, device);
271 271
@@ -281,7 +281,7 @@ static ssize_t fw_show_ne_bus_options(struct device *dev, char *buf)
281static DEVICE_ATTR(bus_options,S_IRUGO,fw_show_ne_bus_options,NULL); 281static DEVICE_ATTR(bus_options,S_IRUGO,fw_show_ne_bus_options,NULL);
282 282
283 283
284static ssize_t fw_show_ne_tlabels_free(struct device *dev, char *buf) 284static ssize_t fw_show_ne_tlabels_free(struct device *dev, struct device_attribute *attr, char *buf)
285{ 285{
286 struct node_entry *ne = container_of(dev, struct node_entry, device); 286 struct node_entry *ne = container_of(dev, struct node_entry, device);
287 return sprintf(buf, "%d\n", atomic_read(&ne->tpool->count.count) + 1); 287 return sprintf(buf, "%d\n", atomic_read(&ne->tpool->count.count) + 1);
@@ -289,7 +289,7 @@ static ssize_t fw_show_ne_tlabels_free(struct device *dev, char *buf)
289static DEVICE_ATTR(tlabels_free,S_IRUGO,fw_show_ne_tlabels_free,NULL); 289static DEVICE_ATTR(tlabels_free,S_IRUGO,fw_show_ne_tlabels_free,NULL);
290 290
291 291
292static ssize_t fw_show_ne_tlabels_allocations(struct device *dev, char *buf) 292static ssize_t fw_show_ne_tlabels_allocations(struct device *dev, struct device_attribute *attr, char *buf)
293{ 293{
294 struct node_entry *ne = container_of(dev, struct node_entry, device); 294 struct node_entry *ne = container_of(dev, struct node_entry, device);
295 return sprintf(buf, "%u\n", ne->tpool->allocations); 295 return sprintf(buf, "%u\n", ne->tpool->allocations);
@@ -297,7 +297,7 @@ static ssize_t fw_show_ne_tlabels_allocations(struct device *dev, char *buf)
297static DEVICE_ATTR(tlabels_allocations,S_IRUGO,fw_show_ne_tlabels_allocations,NULL); 297static DEVICE_ATTR(tlabels_allocations,S_IRUGO,fw_show_ne_tlabels_allocations,NULL);
298 298
299 299
300static ssize_t fw_show_ne_tlabels_mask(struct device *dev, char *buf) 300static ssize_t fw_show_ne_tlabels_mask(struct device *dev, struct device_attribute *attr, char *buf)
301{ 301{
302 struct node_entry *ne = container_of(dev, struct node_entry, device); 302 struct node_entry *ne = container_of(dev, struct node_entry, device);
303#if (BITS_PER_LONG <= 32) 303#if (BITS_PER_LONG <= 32)
@@ -309,7 +309,7 @@ static ssize_t fw_show_ne_tlabels_mask(struct device *dev, char *buf)
309static DEVICE_ATTR(tlabels_mask, S_IRUGO, fw_show_ne_tlabels_mask, NULL); 309static DEVICE_ATTR(tlabels_mask, S_IRUGO, fw_show_ne_tlabels_mask, NULL);
310 310
311 311
312static ssize_t fw_set_ignore_driver(struct device *dev, const char *buf, size_t count) 312static ssize_t fw_set_ignore_driver(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
313{ 313{
314 struct unit_directory *ud = container_of(dev, struct unit_directory, device); 314 struct unit_directory *ud = container_of(dev, struct unit_directory, device);
315 int state = simple_strtoul(buf, NULL, 10); 315 int state = simple_strtoul(buf, NULL, 10);
@@ -324,7 +324,7 @@ static ssize_t fw_set_ignore_driver(struct device *dev, const char *buf, size_t
324 324
325 return count; 325 return count;
326} 326}
327static ssize_t fw_get_ignore_driver(struct device *dev, char *buf) 327static ssize_t fw_get_ignore_driver(struct device *dev, struct device_attribute *attr, char *buf)
328{ 328{
329 struct unit_directory *ud = container_of(dev, struct unit_directory, device); 329 struct unit_directory *ud = container_of(dev, struct unit_directory, device);
330 330
@@ -695,14 +695,15 @@ static void nodemgr_remove_ne(struct node_entry *ne)
695 put_device(dev); 695 put_device(dev);
696} 696}
697 697
698static int __nodemgr_remove_host_dev(struct device *dev, void *data)
699{
700 nodemgr_remove_ne(container_of(dev, struct node_entry, device));
701 return 0;
702}
698 703
699static void nodemgr_remove_host_dev(struct device *dev) 704static void nodemgr_remove_host_dev(struct device *dev)
700{ 705{
701 struct device *ne_dev, *next; 706 device_for_each_child(dev, NULL, __nodemgr_remove_host_dev);
702
703 list_for_each_entry_safe(ne_dev, next, &dev->children, node)
704 nodemgr_remove_ne(container_of(ne_dev, struct node_entry, device));
705
706 sysfs_remove_link(&dev->kobj, "irm_id"); 707 sysfs_remove_link(&dev->kobj, "irm_id");
707 sysfs_remove_link(&dev->kobj, "busmgr_id"); 708 sysfs_remove_link(&dev->kobj, "busmgr_id");
708 sysfs_remove_link(&dev->kobj, "host_id"); 709 sysfs_remove_link(&dev->kobj, "host_id");