in_node_t
in_walktree(in_node_t *np, char *this)
in_node_t *root = e_ddi_instance_root();
static in_node_t *
in_node_t *pnp, *np;
in_node_t *np;
static in_node_t *
in_node_t *ap; /* ancestor pointer */
in_node_t *np; /* working node pointer */
in_node_t *rp; /* return node pointer */
in_enlist(in_node_t *ap, in_node_t *np)
in_node_t *mp;
in_endrv(in_node_t *np, in_drv_t *dp)
static in_node_t *
in_node_t *np;
cp = kmem_zalloc(sizeof (in_node_t) + namelen + strlen(addr) + 1,
np = (in_node_t *)cp;
np->in_node_name = cp + sizeof (in_node_t);
np->in_unit_addr = cp + sizeof (in_node_t) + namelen;
in_dealloc_node(in_node_t *np)
kmem_free(np, sizeof (in_node_t) + strlen(np->in_node_name)
in_drvwalk(in_node_t *np, char *binding_name)
in_node_t *
in_walk_instances(in_node_t *np, char *path, char *this,
int (*f)(const char *, in_node_t *, in_drv_t *, void *), void *arg)
e_ddi_walk_instances(int (*f)(const char *, in_node_t *, in_drv_t *, void *),
in_node_t *root;
in_node_t *
in_node_t *np;
e_ddi_borrow_instance(dev_info_t *cdip, in_node_t *cnp)
in_node_t *anp;
e_ddi_return_instance(dev_info_t *cdip, char *addr, in_node_t *cnp)
in_node_t *anp;
in_node_t *ap, *np;
static void in_removenode(struct devnames *dnp, in_node_t *mp, in_node_t *ap);
static in_node_t *in_alloc_node(char *name, char *addr);
static in_node_t *in_devwalk(dev_info_t *dip, in_node_t **ap, char *addr);
static in_node_t *in_devwalk_create(dev_info_t *dip);
mkpathname(char *path, in_node_t *np, int len)
static void in_dealloc_node(in_node_t *np);
static in_node_t *in_make_path(char *path);
static void in_enlist(in_node_t *ap, in_node_t *np);
static in_drv_t *in_drvwalk(in_node_t *np, char *binding_name);
static void in_endrv(in_node_t *np, in_drv_t *dp);
in_node_t *np;
in_node_t *ap; /* ancestor node */
in_node_t *np, *ap;
in_node_t *ins_root; /* the root of our instance tree */
in_removenode(struct devnames *dnp, in_node_t *mp, in_node_t *ap)
in_node_t *np;
static in_node_t *
in_devwalk(dev_info_t *dip, in_node_t **ap, char *addr)
in_node_t *np;
modctl_inst_walker(const char *path, in_node_t *np, in_drv_t *dp, void *arg)
in_node_t *e_ddi_instance_root(void);
in_node_t *, in_drv_t *, void *), void *);
in_node_t *e_ddi_path_to_instance(char *path);
void e_ddi_borrow_instance(dev_info_t *cdip, in_node_t *cnp);
void e_ddi_return_instance(dev_info_t *cdip, char *addr, in_node_t *cnp);