Lines Matching refs:pnode

133 	tnode_t *pnode;  in topo_node_destroy()  local
140 pnode = node->tn_parent; in topo_node_destroy()
153 topo_node_lock(pnode); in topo_node_destroy()
163 --pnode->tn_refs; in topo_node_destroy()
164 if (pnode->tn_refs == 0) in topo_node_destroy()
165 topo_node_destroy(pnode); in topo_node_destroy()
168 topo_node_unlock(pnode); in topo_node_destroy()
293 node_create_seterror(topo_mod_t *mod, tnode_t *pnode, topo_nodehash_t *nhp, in node_create_seterror() argument
296 topo_node_unlock(pnode); in node_create_seterror()
315 topo_node_range_create(topo_mod_t *mod, tnode_t *pnode, const char *name, in topo_node_range_create() argument
320 topo_node_lock(pnode); in topo_node_range_create()
322 assert((pnode->tn_state & TOPO_NODE_BOUND) || in topo_node_range_create()
323 (pnode->tn_state & TOPO_NODE_ROOT)); in topo_node_range_create()
325 for (nhp = topo_list_next(&pnode->tn_children); nhp != NULL; in topo_node_range_create()
328 return (node_create_seterror(mod, pnode, NULL, in topo_node_range_create()
333 return (node_create_seterror(mod, pnode, NULL, in topo_node_range_create()
337 return (node_create_seterror(mod, pnode, nhp, EMOD_NOMEM)); in topo_node_range_create()
340 return (node_create_seterror(mod, pnode, nhp, EMOD_NOMEM)); in topo_node_range_create()
346 return (node_create_seterror(mod, pnode, nhp, EMOD_NOMEM)); in topo_node_range_create()
356 topo_list_append(&pnode->tn_children, nhp); in topo_node_range_create()
357 topo_node_unlock(pnode); in topo_node_range_create()
366 topo_node_range_destroy(tnode_t *pnode, const char *name) in topo_node_range_destroy() argument
372 topo_node_lock(pnode); in topo_node_range_destroy()
373 for (nhp = topo_list_next(&pnode->tn_children); nhp != NULL; in topo_node_range_destroy()
381 topo_node_unlock(pnode); in topo_node_range_destroy()
388 topo_list_delete(&pnode->tn_children, nhp); in topo_node_range_destroy()
389 topo_node_unlock(pnode); in topo_node_range_destroy()
404 topo_node_lookup(tnode_t *pnode, const char *name, topo_instance_t inst) in topo_node_lookup() argument
410 topo_dprintf(pnode->tn_hdl, TOPO_DBG_MODSVC, in topo_node_lookup()
413 topo_node_lock(pnode); in topo_node_lookup()
414 for (nhp = topo_list_next(&pnode->tn_children); nhp != NULL; in topo_node_lookup()
420 topo_node_unlock(pnode); in topo_node_lookup()
426 topo_node_unlock(pnode); in topo_node_lookup()
430 topo_node_unlock(pnode); in topo_node_lookup()
442 node_bind_seterror(topo_mod_t *mod, tnode_t *pnode, tnode_t *node, in node_bind_seterror() argument
446 topo_node_unlock(pnode); in node_bind_seterror()
464 topo_node_bind(topo_mod_t *mod, tnode_t *pnode, const char *name, in topo_node_bind() argument
471 topo_node_lock(pnode); in topo_node_bind()
472 for (nhp = topo_list_next(&pnode->tn_children); nhp != NULL; in topo_node_bind()
478 return (node_bind_seterror(mod, pnode, NULL, in topo_node_bind()
483 return (node_bind_seterror(mod, pnode, NULL, in topo_node_bind()
492 return (node_bind_seterror(mod, pnode, NULL, B_TRUE, in topo_node_bind()
496 return (node_bind_seterror(mod, pnode, NULL, B_TRUE, in topo_node_bind()
503 node->tn_parent = pnode; in topo_node_bind()
513 return (node_bind_seterror(mod, pnode, node, B_TRUE, in topo_node_bind()
517 return (node_bind_seterror(mod, pnode, node, B_TRUE, err)); in topo_node_bind()
521 return (node_bind_seterror(mod, pnode, node, B_TRUE, err)); in topo_node_bind()
524 "node bound %s=%d/%s=%d\n", topo_node_name(pnode), in topo_node_bind()
525 topo_node_instance(pnode), node->tn_name, node->tn_instance); in topo_node_bind()
531 ++pnode->tn_refs; in topo_node_bind()
533 topo_node_unlock(pnode); in topo_node_bind()
550 topo_node_facbind(topo_mod_t *mod, tnode_t *pnode, const char *name, in topo_node_facbind() argument
562 if (topo_node_range_create(mod, pnode, name, 0, 0) < 0) in topo_node_facbind()
565 topo_node_hold(pnode); in topo_node_facbind()
566 topo_node_lock(pnode); in topo_node_facbind()
567 for (nhp = topo_list_next(&pnode->tn_children); nhp != NULL; in topo_node_facbind()
573 topo_node_rele(pnode); in topo_node_facbind()
574 return (node_bind_seterror(mod, pnode, NULL, in topo_node_facbind()
579 topo_node_rele(pnode); in topo_node_facbind()
580 return (node_bind_seterror(mod, pnode, NULL, in topo_node_facbind()
587 topo_node_unlock(pnode); in topo_node_facbind()
590 topo_node_rele(pnode); in topo_node_facbind()
591 return (node_bind_seterror(mod, pnode, NULL, B_FALSE, in topo_node_facbind()
595 topo_node_rele(pnode); in topo_node_facbind()
596 return (node_bind_seterror(mod, pnode, NULL, B_FALSE, in topo_node_facbind()
604 node->tn_parent = pnode; in topo_node_facbind()
615 topo_node_rele(pnode); in topo_node_facbind()
616 return (node_bind_seterror(mod, pnode, node, B_FALSE, err)); in topo_node_facbind()
619 topo_node_rele(pnode); in topo_node_facbind()
620 return (node_bind_seterror(mod, pnode, node, B_FALSE, in topo_node_facbind()
626 topo_node_rele(pnode); in topo_node_facbind()
627 return (node_bind_seterror(mod, pnode, node, B_FALSE, in topo_node_facbind()
631 if (topo_node_resource(pnode, &pfmri, &err) < 0) { in topo_node_facbind()
633 topo_node_rele(pnode); in topo_node_facbind()
634 return (node_bind_seterror(mod, pnode, node, B_FALSE, err)); in topo_node_facbind()
640 topo_node_rele(pnode); in topo_node_facbind()
641 return (node_bind_seterror(mod, pnode, node, B_FALSE, in topo_node_facbind()
650 topo_node_rele(pnode); in topo_node_facbind()
651 return (node_bind_seterror(mod, pnode, node, B_FALSE, err)); in topo_node_facbind()
664 topo_node_lock(pnode); in topo_node_facbind()
665 ++pnode->tn_refs; in topo_node_facbind()
666 topo_node_unlock(pnode); in topo_node_facbind()
667 topo_node_rele(pnode); in topo_node_facbind()
861 topo_node_child_walk(topo_hdl_t *thp, tnode_t *pnode, topo_walk_cb_t cb_f, in topo_node_child_walk() argument
867 topo_node_hold(pnode); in topo_node_child_walk()
872 topo_node_lock(pnode); in topo_node_child_walk()
873 cnode = topo_child_first(pnode); in topo_node_child_walk()
874 topo_node_unlock(pnode); in topo_node_child_walk()
899 topo_node_lock(pnode); in topo_node_child_walk()
900 cnode = topo_child_next(pnode, cnode); in topo_node_child_walk()
901 topo_node_unlock(pnode); in topo_node_child_walk()
905 topo_node_rele(pnode); in topo_node_child_walk()