Lines Matching refs:cdp

88 	struct cdev_priv *cdp;  in sysctl_devname()  local
105 TAILQ_FOREACH(cdp, &cdevp_list, cdp_list) in sysctl_devname()
106 if (cdp->cdp_inode == ud) { in sysctl_devname()
107 dev = &cdp->cdp_c; in sysctl_devname()
132 struct cdev_priv *cdp; in devfs_alloc() local
136 cdp = malloc(sizeof *cdp, M_CDEVP, M_ZERO | in devfs_alloc()
138 if (cdp == NULL) in devfs_alloc()
141 cdp->cdp_dirents = &cdp->cdp_dirent0; in devfs_alloc()
143 cdev = &cdp->cdp_c; in devfs_alloc()
154 struct cdev_priv *cdp; in devfs_dev_exists() local
158 TAILQ_FOREACH(cdp, &cdevp_list, cdp_list) { in devfs_dev_exists()
159 if ((cdp->cdp_flags & CDP_ACTIVE) == 0) in devfs_dev_exists()
161 if (devfs_pathpath(cdp->cdp_c.si_name, name) != 0) in devfs_dev_exists()
163 if (devfs_pathpath(name, cdp->cdp_c.si_name) != 0) in devfs_dev_exists()
175 struct cdev_priv *cdp; in devfs_free() local
177 cdp = cdev2priv(cdev); in devfs_free()
180 devfs_free_cdp_inode(cdp->cdp_inode); in devfs_free()
181 if (cdp->cdp_maxdirent > 0) in devfs_free()
182 free(cdp->cdp_dirents, M_DEVFS2); in devfs_free()
183 free(cdp, M_CDEVP); in devfs_free()
480 devfs_metoo(struct cdev_priv *cdp, struct devfs_mount *dm) in devfs_metoo() argument
488 if (dm->dm_idx <= cdp->cdp_maxdirent) { in devfs_metoo()
494 memcpy(dep, cdp->cdp_dirents, (cdp->cdp_maxdirent + 1) * sizeof *dep); in devfs_metoo()
495 if (cdp->cdp_maxdirent > 0) in devfs_metoo()
496 free(cdp->cdp_dirents, M_DEVFS2); in devfs_metoo()
497 cdp->cdp_dirents = dep; in devfs_metoo()
502 cdp->cdp_maxdirent = dm->dm_idx; in devfs_metoo()
512 struct cdev_priv *cdp; in devfs_populate_loop() local
521 TAILQ_FOREACH(cdp, &cdevp_list, cdp_list) { in devfs_populate_loop()
523 KASSERT(cdp->cdp_dirents != NULL, ("NULL cdp_dirents")); in devfs_populate_loop()
529 if ((cleanup || !(cdp->cdp_flags & CDP_ACTIVE)) && in devfs_populate_loop()
530 dm->dm_idx <= cdp->cdp_maxdirent && in devfs_populate_loop()
531 cdp->cdp_dirents[dm->dm_idx] != NULL) { in devfs_populate_loop()
532 de = cdp->cdp_dirents[dm->dm_idx]; in devfs_populate_loop()
533 cdp->cdp_dirents[dm->dm_idx] = NULL; in devfs_populate_loop()
534 KASSERT(cdp == de->de_cdp, in devfs_populate_loop()
536 cdp->cdp_c.si_name, cdp, de->de_cdp)); in devfs_populate_loop()
545 cdp->cdp_inuse--; in devfs_populate_loop()
552 if (!(cdp->cdp_flags & CDP_ACTIVE)) { in devfs_populate_loop()
553 if (cdp->cdp_inuse > 0) in devfs_populate_loop()
555 TAILQ_REMOVE(&cdevp_list, cdp, cdp_list); in devfs_populate_loop()
557 dev_rel(&cdp->cdp_c); in devfs_populate_loop()
565 KASSERT((cdp->cdp_flags & CDP_ACTIVE), ("Bogons, I tell ya'!")); in devfs_populate_loop()
567 if (dm->dm_idx <= cdp->cdp_maxdirent && in devfs_populate_loop()
568 cdp->cdp_dirents[dm->dm_idx] != NULL) { in devfs_populate_loop()
569 de = cdp->cdp_dirents[dm->dm_idx]; in devfs_populate_loop()
570 KASSERT(cdp == de->de_cdp, ("inconsistent cdp")); in devfs_populate_loop()
575 cdp->cdp_inuse++; in devfs_populate_loop()
578 if (dm->dm_idx > cdp->cdp_maxdirent) in devfs_populate_loop()
579 devfs_metoo(cdp, dm); in devfs_populate_loop()
582 s = cdp->cdp_c.si_name; in devfs_populate_loop()
602 __func__, cdp->cdp_c.si_name)); in devfs_populate_loop()
611 if (cdp->cdp_c.si_flags & SI_ALIAS) { in devfs_populate_loop()
616 pdev = cdp->cdp_c.si_parent; in devfs_populate_loop()
629 de->de_uid = cdp->cdp_c.si_uid; in devfs_populate_loop()
630 de->de_gid = cdp->cdp_c.si_gid; in devfs_populate_loop()
631 de->de_mode = cdp->cdp_c.si_mode; in devfs_populate_loop()
635 de->de_inode = cdp->cdp_inode; in devfs_populate_loop()
636 de->de_cdp = cdp; in devfs_populate_loop()
638 mac_devfs_create_device(cdp->cdp_c.si_cred, dm->dm_mount, in devfs_populate_loop()
639 &cdp->cdp_c, de); in devfs_populate_loop()
646 KASSERT(cdp->cdp_dirents[dm->dm_idx] == NULL, in devfs_populate_loop()
648 cdp->cdp_dirents[dm->dm_idx] = de; in devfs_populate_loop()
697 struct cdev_priv *cdp; in devfs_create() local
700 cdp = cdev2priv(dev); in devfs_create()
701 cdp->cdp_flags |= CDP_ACTIVE; in devfs_create()
702 cdp->cdp_inode = alloc_unrl(devfs_inos); in devfs_create()
704 TAILQ_INSERT_TAIL(&cdevp_list, cdp, cdp_list); in devfs_create()
711 struct cdev_priv *cdp; in devfs_destroy() local
714 cdp = cdev2priv(dev); in devfs_destroy()
715 cdp->cdp_flags &= ~CDP_ACTIVE; in devfs_destroy()