Lines Matching refs:cdevsw
102 #define CDEVSW_SIZE (sizeof(struct cdevsw *))
109 /* XXX bdevsw, cdevsw, max_bdevsws, and max_cdevsws should be volatile */
111 extern const struct cdevsw **cdevsw, *cdevsw0[];
121 static int cdevsw_attach(const struct cdevsw *, devmajor_t *);
122 static void devsw_detach_locked(const struct bdevsw *, const struct cdevsw *);
228 "struct cdevsw *"/*cdevsw*/,
235 "struct cdevsw *"/*cdevsw*/,
240 "struct cdevsw *"/*cdevsw*/,
246 "struct cdevsw *"/*cdevsw*/,
254 "struct cdevsw *"/*cdevsw*/,
259 "struct cdevsw *"/*cdevsw*/,
266 "struct cdevsw *"/*cdevsw*/,
271 "struct cdevsw *"/*cdevsw*/,
278 "struct cdevsw *"/*cdevsw*/,
283 "struct cdevsw *"/*cdevsw*/,
290 "struct cdevsw *"/*cdevsw*/,
295 "struct cdevsw *"/*cdevsw*/,
302 "struct cdevsw *"/*cdevsw*/,
308 "struct cdevsw *"/*cdevsw*/,
316 "struct cdevsw *"/*cdevsw*/,
321 "struct cdevsw *"/*cdevsw*/,
327 "struct cdevsw *"/*cdevsw*/,
331 "struct cdevsw *"/*cdevsw*/,
337 "struct cdevsw *"/*cdevsw*/,
342 "struct cdevsw *"/*cdevsw*/,
349 "struct cdevsw *"/*cdevsw*/,
353 "struct cdevsw *"/*cdevsw*/,
359 "struct cdevsw *"/*cdevsw*/,
364 "struct cdevsw *"/*cdevsw*/,
384 const struct cdevsw *cdev, devmajor_t *cmajor)
415 cdevsw[*cmajor] != NULL) {
554 cdevsw_attach(const struct cdevsw *devsw, devmajor_t *devmajor)
556 const struct cdevsw **newcdevsw = NULL;
566 if (cdevsw[cmajor] != NULL)
593 KASSERT(cdevsw == cdevsw0);
598 memcpy(newcdevsw, cdevsw, max_cdevsws * sizeof(cdevsw[0]));
599 atomic_store_release(&cdevsw, newcdevsw);
603 if (cdevsw[*devmajor] != NULL)
611 atomic_store_release(&cdevsw[*devmajor], devsw);
617 cdevsw *cdev)
660 if (cdevsw[ci] != cdev)
662 atomic_store_relaxed(&cdevsw[ci], NULL);
709 devsw_detach(const struct bdevsw *bdev, const struct cdevsw *cdev)
790 const struct cdevsw *
801 return atomic_load_consume(&cdevsw)[cmajor];
804 static const struct cdevsw *
808 const struct cdevsw *cdev = NULL, *const *curcdevsw;
829 curcdevsw = atomic_load_consume(&cdevsw);
845 cdevsw_release(const struct cdevsw *cdev, struct localcount *lc)
882 cdevsw_lookup_major(const struct cdevsw *cdev)
884 const struct cdevsw *const *curcdevsw;
888 curcdevsw = atomic_load_consume(&cdevsw);
924 if (cmajor >= 0 && cmajor < max_cdevsws && cdevsw[cmajor] != NULL)
1059 cdevsw[cmajor] == NULL)
1095 if (cmajor < 0 || cmajor >= max_cdevsws || cdevsw[cmajor] == NULL) {
1140 if (cmajor >= 0 && cmajor < max_cdevsws && cdevsw[cmajor] != NULL)
1400 const struct cdevsw *d;
1453 const struct cdevsw *d;
1473 const struct cdevsw *d;
1491 const struct cdevsw *d;
1509 const struct cdevsw *d;
1527 const struct cdevsw *d;
1545 const struct cdevsw *d;
1561 const struct cdevsw *d;
1576 const struct cdevsw *d;
1594 const struct cdevsw *d;
1613 const struct cdevsw *d;
1631 const struct cdevsw *d;
1649 const struct cdevsw *d;
1659 const struct cdevsw *d;
1669 const struct cdevsw *d;
1700 * bdevsw, cdevsw::d_devtounit for drivers whose /dev nodes are