find_dip
if (mdb_pwalk("devinfo_children", find_dip, &cb_data,
struct find_dip *findp = (struct find_dip *)arg;
struct find_dip find_dip;
find_dip.fd_buf = kmem_alloc(MAXPATHLEN, KM_SLEEP);
find_dip.fd_path = path;
find_dip.fd_dip = NULL;
ddi_walk_devs(ddi_get_child(pdip), find_dip_fcn, &find_dip);
kmem_free(find_dip.fd_buf, MAXPATHLEN);
if (find_dip.fd_dip == NULL) {
dip = find_dip.fd_dip;