Lines Matching full:xi
118 struct xrefinfo * xi; in xrefinfo_create() local
133 xi = malloc(sizeof(*xi), M_OFWPROP, M_WAITOK | M_ZERO); in xrefinfo_create()
134 xi->node = child; in xrefinfo_create()
135 xi->xref = xref; in xrefinfo_create()
136 SLIST_INSERT_HEAD(&xreflist, xi, next_entry); in xrefinfo_create()
158 struct xrefinfo *rv, *xi; in xrefinfo_find() local
162 SLIST_FOREACH(xi, &xreflist, next_entry) { in xrefinfo_find()
163 if ((find_by == FIND_BY_XREF && (phandle_t)key == xi->xref) || in xrefinfo_find()
164 (find_by == FIND_BY_NODE && (phandle_t)key == xi->node) || in xrefinfo_find()
165 (find_by == FIND_BY_DEV && key == (uintptr_t)xi->dev)) { in xrefinfo_find()
166 rv = xi; in xrefinfo_find()
177 struct xrefinfo *xi; in xrefinfo_add() local
179 xi = malloc(sizeof(*xi), M_OFWPROP, M_WAITOK); in xrefinfo_add()
180 xi->node = node; in xrefinfo_add()
181 xi->xref = xref; in xrefinfo_add()
182 xi->dev = dev; in xrefinfo_add()
184 SLIST_INSERT_HEAD(&xreflist, xi, next_entry); in xrefinfo_add()
186 return (xi); in xrefinfo_add()
190 xrefinfo_remove(struct xrefinfo *xi) in xrefinfo_remove() argument
194 SLIST_REMOVE(&xreflist, xi, xrefinfo, next_entry); in xrefinfo_remove()
635 struct xrefinfo *xi; in OF_node_from_xref() local
639 if ((xi = xrefinfo_find(xref, FIND_BY_XREF)) == NULL) in OF_node_from_xref()
641 return (xi->node); in OF_node_from_xref()
652 struct xrefinfo *xi; in OF_xref_from_node() local
656 if ((xi = xrefinfo_find(node, FIND_BY_NODE)) == NULL) in OF_xref_from_node()
658 return (xi->xref); in OF_xref_from_node()
671 struct xrefinfo *xi; in OF_device_from_xref() local
674 if ((xi = xrefinfo_find(xref, FIND_BY_XREF)) == NULL) in OF_device_from_xref()
676 return (xi->dev); in OF_device_from_xref()
684 struct xrefinfo *xi; in OF_xref_from_device() local
687 if ((xi = xrefinfo_find((uintptr_t)dev, FIND_BY_DEV)) == NULL) in OF_xref_from_device()
689 return (xi->xref); in OF_xref_from_device()
697 struct xrefinfo *xi; in OF_device_register_xref() local
706 if ((xi = xrefinfo_find(xref, FIND_BY_XREF)) == NULL) in OF_device_register_xref()
709 xi->dev = dev; in OF_device_register_xref()
718 struct xrefinfo *xi; in OF_device_unregister_xref() local
720 if ((xi = xrefinfo_find(xref, FIND_BY_XREF)) == NULL) in OF_device_unregister_xref()
722 xrefinfo_remove(xi); in OF_device_unregister_xref()