Lines Matching refs:cont
27 struct attribute_container *cont; member
58 return ic->cont; in attribute_container_classdev_to_container()
73 attribute_container_register(struct attribute_container *cont) in attribute_container_register() argument
75 INIT_LIST_HEAD(&cont->node); in attribute_container_register()
76 klist_init(&cont->containers, internal_container_klist_get, in attribute_container_register()
80 list_add_tail(&cont->node, &attribute_container_list); in attribute_container_register()
93 attribute_container_unregister(struct attribute_container *cont) in attribute_container_unregister() argument
98 spin_lock(&cont->containers.k_lock); in attribute_container_unregister()
99 if (!list_empty(&cont->containers.k_list)) in attribute_container_unregister()
102 list_del(&cont->node); in attribute_container_unregister()
104 spin_unlock(&cont->containers.k_lock); in attribute_container_unregister()
146 struct attribute_container *cont; in attribute_container_add_device() local
149 list_for_each_entry(cont, &attribute_container_list, node) { in attribute_container_add_device()
152 if (attribute_container_no_classdevs(cont)) in attribute_container_add_device()
155 if (!cont->match(cont, dev)) in attribute_container_add_device()
164 ic->cont = cont; in attribute_container_add_device()
167 ic->classdev.class = cont->class; in attribute_container_add_device()
168 cont->class->dev_release = attribute_container_release; in attribute_container_add_device()
171 fn(cont, dev, &ic->classdev); in attribute_container_add_device()
174 klist_add_tail(&ic->node, &cont->containers); in attribute_container_add_device()
211 struct attribute_container *cont; in attribute_container_remove_device() local
214 list_for_each_entry(cont, &attribute_container_list, node) { in attribute_container_remove_device()
218 if (attribute_container_no_classdevs(cont)) in attribute_container_remove_device()
221 if (!cont->match(cont, dev)) in attribute_container_remove_device()
224 klist_for_each_entry(ic, &cont->containers, node, &iter) { in attribute_container_remove_device()
229 fn(cont, dev, &ic->classdev); in attribute_container_remove_device()
241 struct attribute_container *cont, in do_attribute_container_device_trigger_safe() argument
251 if (attribute_container_no_classdevs(cont)) in do_attribute_container_device_trigger_safe()
252 return fn(cont, dev, NULL); in do_attribute_container_device_trigger_safe()
254 klist_for_each_entry(ic, &cont->containers, node, &iter) { in do_attribute_container_device_trigger_safe()
256 ret = fn(cont, dev, &ic->classdev); in do_attribute_container_device_trigger_safe()
271 klist_for_each_entry(ic, &cont->containers, node, &iter) { in do_attribute_container_device_trigger_safe()
277 undo(cont, dev, &ic->classdev); in do_attribute_container_device_trigger_safe()
305 struct attribute_container *cont, *failed = NULL; in attribute_container_device_trigger_safe() local
310 list_for_each_entry(cont, &attribute_container_list, node) { in attribute_container_device_trigger_safe()
312 if (!cont->match(cont, dev)) in attribute_container_device_trigger_safe()
315 ret = do_attribute_container_device_trigger_safe(dev, cont, in attribute_container_device_trigger_safe()
318 failed = cont; in attribute_container_device_trigger_safe()
324 list_for_each_entry(cont, &attribute_container_list, node) { in attribute_container_device_trigger_safe()
326 if (failed == cont) in attribute_container_device_trigger_safe()
329 if (!cont->match(cont, dev)) in attribute_container_device_trigger_safe()
332 do_attribute_container_device_trigger_safe(dev, cont, in attribute_container_device_trigger_safe()
357 struct attribute_container *cont; in attribute_container_device_trigger() local
360 list_for_each_entry(cont, &attribute_container_list, node) { in attribute_container_device_trigger()
364 if (!cont->match(cont, dev)) in attribute_container_device_trigger()
367 if (attribute_container_no_classdevs(cont)) { in attribute_container_device_trigger()
368 fn(cont, dev, NULL); in attribute_container_device_trigger()
372 klist_for_each_entry(ic, &cont->containers, node, &iter) { in attribute_container_device_trigger()
374 fn(cont, dev, &ic->classdev); in attribute_container_device_trigger()
391 struct attribute_container *cont = in attribute_container_add_attrs() local
393 struct device_attribute **attrs = cont->attrs; in attribute_container_add_attrs()
396 BUG_ON(attrs && cont->grp); in attribute_container_add_attrs()
398 if (!attrs && !cont->grp) in attribute_container_add_attrs()
401 if (cont->grp) in attribute_container_add_attrs()
402 return sysfs_create_group(&classdev->kobj, cont->grp); in attribute_container_add_attrs()
442 struct attribute_container *cont = in attribute_container_remove_attrs() local
444 struct device_attribute **attrs = cont->attrs; in attribute_container_remove_attrs()
447 if (!attrs && !cont->grp) in attribute_container_remove_attrs()
450 if (cont->grp) { in attribute_container_remove_attrs()
451 sysfs_remove_group(&classdev->kobj, cont->grp); in attribute_container_remove_attrs()
484 attribute_container_find_class_device(struct attribute_container *cont, in attribute_container_find_class_device() argument
491 klist_for_each_entry(ic, &cont->containers, node, &iter) { in attribute_container_find_class_device()