Lines Matching refs:csw

87 	struct cdevsw *csw;  in dev_unlock_and_free()  local
106 while ((csw = SLIST_FIRST(&csw_free)) != NULL) { in dev_unlock_and_free()
108 free(csw, M_DEVT); in dev_unlock_and_free()
127 cdevsw_free_devlocked(struct cdevsw *csw) in cdevsw_free_devlocked() argument
131 SLIST_INSERT_HEAD(&cdevsw_gt_post_list, csw, d_postfree_list); in cdevsw_free_devlocked()
181 struct cdevsw *csw; in dev_refthread() local
191 csw = dev->si_devsw; in dev_refthread()
192 if (csw != NULL) { in dev_refthread()
196 csw = NULL; in dev_refthread()
199 if (csw != NULL) in dev_refthread()
201 return (csw); in dev_refthread()
207 struct cdevsw *csw; in devvn_refthread() local
219 csw = dev->si_devsw; in devvn_refthread()
220 KASSERT(csw != NULL, ("Eternal cdev is destroyed")); in devvn_refthread()
222 return (csw); in devvn_refthread()
225 csw = NULL; in devvn_refthread()
235 csw = dev->si_devsw; in devvn_refthread()
236 if (csw != NULL) in devvn_refthread()
241 if (csw != NULL) { in devvn_refthread()
245 return (csw); in devvn_refthread()
567 struct cdevsw *csw; in newdev() local
570 csw = args->mda_devsw; in newdev()
572 if (csw->d_flags & D_NEEDMINOR) { in newdev()
574 LIST_FOREACH(si2, &csw->d_devs, si_list) { in newdev()
599 si->si_devsw = csw; in newdev()
600 LIST_INSERT_HEAD(&csw->d_devs, si, si_list); in newdev()
602 KASSERT(si->si_devsw == csw, in newdev()
1093 struct cdevsw *csw; in destroy_devl() local
1137 csw = dev->si_devsw; in destroy_devl()
1139 while (csw != NULL && csw->d_purge != NULL && dev->si_threadcount) { in destroy_devl()
1140 csw->d_purge(dev); in destroy_devl()
1142 msleep(csw, &devmtx, PRIBIO, "devprg", hz/10); in destroy_devl()
1151 msleep(&csw, &devmtx, PRIBIO, "devdrn", hz / 10); in destroy_devl()
1177 if (LIST_EMPTY(&csw->d_devs)) { in destroy_devl()
1178 fini_cdevsw(csw); in destroy_devl()
1179 wakeup(&csw->d_devs); in destroy_devl()
1251 struct cdevsw *csw; in dev_copyname() local
1254 csw = dev_refthread(dev, &ref); in dev_copyname()
1255 if (csw != NULL) { in dev_copyname()
1318 clone_create(struct clonedevs **cdp, struct cdevsw *csw, int *up, in clone_create() argument
1327 ("clone_setup() not called in driver \"%s\"", csw->d_name)); in clone_create()
1332 KASSERT(csw->d_flags & D_NEEDMINOR, in clone_create()
1346 prep_cdevsw(csw, MAKEDEV_WAITOK); in clone_create()
1376 args.mda_devsw = csw; in clone_create()
1528 destroy_dev_drain(struct cdevsw *csw) in destroy_dev_drain() argument
1532 while (!LIST_EMPTY(&csw->d_devs)) { in destroy_dev_drain()
1533 msleep(&csw->d_devs, &devmtx, PRIBIO, "devscd", hz/10); in destroy_dev_drain()