summaryrefslogtreecommitdiff
path: root/sys/kern/kern_conf.c
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2015-01-14 14:04:29 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2015-01-14 14:04:29 +0000
commit07dbde6777f2861e380f81f84baf1ca63a3996e9 (patch)
treec8cfae0b952598052767f1b3247322249ead54e6 /sys/kern/kern_conf.c
parentc24341d2e3f265ca594b82d3a43df2bc41921105 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r--sys/kern/kern_conf.c17
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)
{