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()
358 struct attribute_container *cont; in attribute_container_device_trigger() local
361 list_for_each_entry(cont, &attribute_container_list, node) { in attribute_container_device_trigger()
365 if (!cont->match(cont, dev)) in attribute_container_device_trigger()
368 if (attribute_container_no_classdevs(cont)) { in attribute_container_device_trigger()
369 fn(cont, dev, NULL); in attribute_container_device_trigger()
373 klist_for_each_entry(ic, &cont->containers, node, &iter) { in attribute_container_device_trigger()
375 fn(cont, dev, &ic->classdev); in attribute_container_device_trigger()
398 struct attribute_container *cont; in attribute_container_trigger() local
401 list_for_each_entry(cont, &attribute_container_list, node) { in attribute_container_trigger()
402 if (cont->match(cont, dev)) in attribute_container_trigger()
403 fn(cont, dev); in attribute_container_trigger()
419 struct attribute_container *cont = in attribute_container_add_attrs() local
421 struct device_attribute **attrs = cont->attrs; in attribute_container_add_attrs()
424 BUG_ON(attrs && cont->grp); in attribute_container_add_attrs()
426 if (!attrs && !cont->grp) in attribute_container_add_attrs()
429 if (cont->grp) in attribute_container_add_attrs()
430 return sysfs_create_group(&classdev->kobj, cont->grp); in attribute_container_add_attrs()
472 attribute_container_add_class_device_adapter(struct attribute_container *cont, in attribute_container_add_class_device_adapter() argument
488 struct attribute_container *cont = in attribute_container_remove_attrs() local
490 struct device_attribute **attrs = cont->attrs; in attribute_container_remove_attrs()
493 if (!attrs && !cont->grp) in attribute_container_remove_attrs()
496 if (cont->grp) { in attribute_container_remove_attrs()
497 sysfs_remove_group(&classdev->kobj, cont->grp); in attribute_container_remove_attrs()
530 attribute_container_find_class_device(struct attribute_container *cont, in attribute_container_find_class_device() argument
537 klist_for_each_entry(ic, &cont->containers, node, &iter) { in attribute_container_find_class_device()