Lines Matching full:grp

447 		struct devres_group *grp;
449 grp = node_to_group(node);
450 if (grp) {
452 grp->color = 0;
474 struct devres_group *grp;
476 grp = node_to_group(node);
477 BUG_ON(!grp || list_empty(&grp->node[0].entry));
479 grp->color++;
480 if (list_empty(&grp->node[1].entry))
481 grp->color++;
483 BUG_ON(grp->color <= 0 || grp->color > 2);
484 if (grp->color == 2) {
488 list_move_tail(&grp->node[0].entry, todo);
489 list_del_init(&grp->node[1].entry);
554 struct devres_group *grp;
557 grp = kmalloc(sizeof(*grp), gfp);
558 if (unlikely(!grp))
561 grp->node[0].release = &group_open_release;
562 grp->node[1].release = &group_close_release;
563 INIT_LIST_HEAD(&grp->node[0].entry);
564 INIT_LIST_HEAD(&grp->node[1].entry);
565 set_node_dbginfo(&grp->node[0], "grp<", 0);
566 set_node_dbginfo(&grp->node[1], "grp>", 0);
567 grp->id = grp;
569 grp->id = id;
570 grp->color = 0;
573 add_dr(dev, &grp->node[0]);
575 return grp->id;
585 struct devres_group *grp;
590 grp = container_of(node, struct devres_group, node[0]);
593 if (grp->id == id)
594 return grp;
595 } else if (list_empty(&grp->node[1].entry))
596 return grp;
612 struct devres_group *grp;
617 grp = find_group(dev, id);
618 if (grp)
619 add_dr(dev, &grp->node[1]);
638 struct devres_group *grp;
643 grp = find_group(dev, id);
644 if (grp) {
645 list_del_init(&grp->node[0].entry);
646 list_del_init(&grp->node[1].entry);
647 devres_log(dev, &grp->node[0], "REM");
653 kfree(grp);
671 struct devres_group *grp;
678 grp = find_group(dev, id);
679 if (grp) {
680 struct list_head *first = &grp->node[0].entry;
683 if (!list_empty(&grp->node[1].entry))
684 end = grp->node[1].entry.next;