Lines Matching refs:grp

434 		struct devres_group *grp;  in remove_nodes()  local
439 grp = node_to_group(node); in remove_nodes()
440 if (grp) { in remove_nodes()
442 grp->color = 0; in remove_nodes()
465 struct devres_group *grp; in remove_nodes() local
470 grp = node_to_group(node); in remove_nodes()
471 BUG_ON(!grp || list_empty(&grp->node[0].entry)); in remove_nodes()
473 grp->color++; in remove_nodes()
474 if (list_empty(&grp->node[1].entry)) in remove_nodes()
475 grp->color++; in remove_nodes()
477 BUG_ON(grp->color <= 0 || grp->color > 2); in remove_nodes()
478 if (grp->color == 2) { in remove_nodes()
482 list_move_tail(&grp->node[0].entry, todo); in remove_nodes()
483 list_del_init(&grp->node[1].entry); in remove_nodes()
548 struct devres_group *grp; in devres_open_group() local
551 grp = kmalloc(sizeof(*grp), gfp); in devres_open_group()
552 if (unlikely(!grp)) in devres_open_group()
555 grp->node[0].release = &group_open_release; in devres_open_group()
556 grp->node[1].release = &group_close_release; in devres_open_group()
557 INIT_LIST_HEAD(&grp->node[0].entry); in devres_open_group()
558 INIT_LIST_HEAD(&grp->node[1].entry); in devres_open_group()
559 set_node_dbginfo(&grp->node[0], "grp<", 0); in devres_open_group()
560 set_node_dbginfo(&grp->node[1], "grp>", 0); in devres_open_group()
561 grp->id = grp; in devres_open_group()
563 grp->id = id; in devres_open_group()
566 add_dr(dev, &grp->node[0]); in devres_open_group()
568 return grp->id; in devres_open_group()
578 struct devres_group *grp; in find_group() local
583 grp = container_of(node, struct devres_group, node[0]); in find_group()
586 if (grp->id == id) in find_group()
587 return grp; in find_group()
588 } else if (list_empty(&grp->node[1].entry)) in find_group()
589 return grp; in find_group()
605 struct devres_group *grp; in devres_close_group() local
610 grp = find_group(dev, id); in devres_close_group()
611 if (grp) in devres_close_group()
612 add_dr(dev, &grp->node[1]); in devres_close_group()
631 struct devres_group *grp; in devres_remove_group() local
636 grp = find_group(dev, id); in devres_remove_group()
637 if (grp) { in devres_remove_group()
638 list_del_init(&grp->node[0].entry); in devres_remove_group()
639 list_del_init(&grp->node[1].entry); in devres_remove_group()
640 devres_log(dev, &grp->node[0], "REM"); in devres_remove_group()
646 kfree(grp); in devres_remove_group()
664 struct devres_group *grp; in devres_release_group() local
670 grp = find_group(dev, id); in devres_release_group()
671 if (grp) { in devres_release_group()
672 struct list_head *first = &grp->node[0].entry; in devres_release_group()
675 if (!list_empty(&grp->node[1].entry)) in devres_release_group()
676 end = grp->node[1].entry.next; in devres_release_group()