Lines Matching defs:cont

27 	struct attribute_container *cont;
58 return ic->cont;
69 * @cont: The container to register. This must be allocated by the
73 attribute_container_register(struct attribute_container *cont)
75 INIT_LIST_HEAD(&cont->node);
76 klist_init(&cont->containers, internal_container_klist_get,
80 list_add_tail(&cont->node, &attribute_container_list);
90 * @cont: previously registered container to remove
93 attribute_container_unregister(struct attribute_container *cont)
98 spin_lock(&cont->containers.k_lock);
99 if (!list_empty(&cont->containers.k_list))
102 list_del(&cont->node);
104 spin_unlock(&cont->containers.k_lock);
146 struct attribute_container *cont;
149 list_for_each_entry(cont, &attribute_container_list, node) {
152 if (attribute_container_no_classdevs(cont))
155 if (!cont->match(cont, dev))
164 ic->cont = cont;
167 ic->classdev.class = cont->class;
168 cont->class->dev_release = attribute_container_release;
171 fn(cont, dev, &ic->classdev);
174 klist_add_tail(&ic->node, &cont->containers);
211 struct attribute_container *cont;
214 list_for_each_entry(cont, &attribute_container_list, node) {
218 if (attribute_container_no_classdevs(cont))
221 if (!cont->match(cont, dev))
224 klist_for_each_entry(ic, &cont->containers, node, &iter) {
229 fn(cont, dev, &ic->classdev);
241 struct attribute_container *cont,
251 if (attribute_container_no_classdevs(cont))
252 return fn(cont, dev, NULL);
254 klist_for_each_entry(ic, &cont->containers, node, &iter) {
256 ret = fn(cont, dev, &ic->classdev);
271 klist_for_each_entry(ic, &cont->containers, node, &iter) {
277 undo(cont, dev, &ic->classdev);
305 struct attribute_container *cont, *failed = NULL;
310 list_for_each_entry(cont, &attribute_container_list, node) {
312 if (!cont->match(cont, dev))
315 ret = do_attribute_container_device_trigger_safe(dev, cont,
318 failed = cont;
324 list_for_each_entry(cont, &attribute_container_list, node) {
326 if (failed == cont)
329 if (!cont->match(cont, dev))
332 do_attribute_container_device_trigger_safe(dev, cont,
358 struct attribute_container *cont;
361 list_for_each_entry(cont, &attribute_container_list, node) {
365 if (!cont->match(cont, dev))
368 if (attribute_container_no_classdevs(cont)) {
369 fn(cont, dev, NULL);
373 klist_for_each_entry(ic, &cont->containers, node, &iter) {
375 fn(cont, dev, &ic->classdev);
398 struct attribute_container *cont;
401 list_for_each_entry(cont, &attribute_container_list, node) {
402 if (cont->match(cont, dev))
403 fn(cont, dev);
419 struct attribute_container *cont =
421 struct device_attribute **attrs = cont->attrs;
424 BUG_ON(attrs && cont->grp);
426 if (!attrs && !cont->grp)
429 if (cont->grp)
430 return sysfs_create_group(&classdev->kobj, cont->grp);
464 * @cont: the container to register.
472 attribute_container_add_class_device_adapter(struct attribute_container *cont,
488 struct attribute_container *cont =
490 struct device_attribute **attrs = cont->attrs;
493 if (!attrs && !cont->grp)
496 if (cont->grp) {
497 sysfs_remove_group(&classdev->kobj, cont->grp);
523 * @cont: the container
530 attribute_container_find_class_device(struct attribute_container *cont,
537 klist_for_each_entry(ic, &cont->containers, node, &iter) {