diff options
| author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2015-01-14 14:04:29 +0000 |
|---|---|---|
| committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2015-01-14 14:04:29 +0000 |
| commit | 07dbde6777f2861e380f81f84baf1ca63a3996e9 (patch) | |
| tree | c8cfae0b952598052767f1b3247322249ead54e6 /sys/kern/kern_conf.c | |
| parent | c24341d2e3f265ca594b82d3a43df2bc41921105 (diff) | |
Notes
Diffstat (limited to 'sys/kern/kern_conf.c')
| -rw-r--r-- | sys/kern/kern_conf.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index d15e5dabe6b9..8b1fdc198cf7 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -1114,6 +1114,23 @@ destroy_devl(struct cdev *dev) } } +static void +delist_dev_locked(struct cdev *dev) +{ + struct cdev *child; + devfs_destroy(dev); + LIST_FOREACH(child, &dev->si_children, si_siblings) + delist_dev_locked(child); +} + +void +delist_dev(struct cdev *dev) +{ + dev_lock(); + delist_dev_locked(dev); + dev_unlock(); +} + void destroy_dev(struct cdev *dev) { |
