diff options
author | phk <phk@FreeBSD.org> | 2004-02-15 10:35:33 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2004-02-15 10:35:33 +0000 |
commit | 4fea4ee178feac41f437356f8d465e4fcef38914 (patch) | |
tree | bccdae502ed7fd02eb58fea0a6e6b3426552b2b8 /sys/kern/kern_conf.c | |
parent | b28b0a820dcca2f8f2ad0d8d22a9d9197795ce23 (diff) | |
download | FreeBSD-src-4fea4ee178feac41f437356f8d465e4fcef38914.zip FreeBSD-src-4fea4ee178feac41f437356f8d465e4fcef38914.tar.gz |
Split the initialization of the cdevsw into a separate function.
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r-- | sys/kern/kern_conf.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index 21052f1..86c6a41 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -325,16 +325,11 @@ makeudev(int x, int y) return ((x << 8) | y); } -dev_t -make_dev(struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, const char *fmt, ...) +static void +prep_cdevsw(struct cdevsw *devsw) { - dev_t dev; - va_list ap; int i; - KASSERT((minor & ~0xffff00ff) == 0, - ("Invalid minor (0x%x) in make_dev", minor)); - if (devsw->d_open == NULL) devsw->d_open = null_open; if (devsw->d_close == NULL) devsw->d_close = null_close; if (devsw->d_read == NULL) devsw->d_read = no_read; @@ -365,7 +360,19 @@ make_dev(struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, const reserved_majors[devsw->d_maj] = devsw->d_maj; } } +} + +dev_t +make_dev(struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, const char *fmt, ...) +{ + dev_t dev; + va_list ap; + int i; + + KASSERT((minor & ~0xffff00ff) == 0, + ("Invalid minor (0x%x) in make_dev", minor)); + prep_cdevsw(devsw); dev = makedev(devsw->d_maj, minor); if (dev->si_flags & SI_CHEAPCLONE && dev->si_flags & SI_NAMED && |