diff options
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r-- | sys/kern/kern_conf.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index d4a421c..39cc8a7 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -501,7 +501,7 @@ minor(struct cdev *x) { if (x == NULL) return NODEV; - return(x->si_drv0 & MAXMINOR); + return (x->si_drv0); } int @@ -510,23 +510,21 @@ dev2unit(struct cdev *x) if (x == NULL) return NODEV; - return (minor2unit(minor(x))); + return (x->si_drv0); } u_int minor2unit(u_int _minor) { - KASSERT((_minor & ~MAXMINOR) == 0, ("Illegal minor %x", _minor)); - return ((_minor & 0xff) | ((_minor >> 8) & 0xffff00)); + return (_minor); } int unit2minor(int unit) { - KASSERT(unit <= 0xffffff, ("Invalid unit (%d) in unit2minor", unit)); - return ((unit & 0xff) | ((unit << 8) & ~0xffff)); + return (unit); } static void @@ -580,16 +578,18 @@ newdev(struct cdevsw *csw, int y, struct cdev *si) return (si); } +#define UMINORMASK 0xffff00ffU + int uminor(dev_t dev) { - return (dev & MAXMINOR); + return (dev & UMINORMASK); } int umajor(dev_t dev) { - return ((dev & ~MAXMINOR) >> 8); + return ((dev & ~UMINORMASK) >> 8); } static void @@ -697,9 +697,6 @@ make_dev_credv(int flags, struct cdevsw *devsw, int minornr, struct cdev *dev; int i; - KASSERT((minornr & ~MAXMINOR) == 0, - ("Invalid minor (0x%x) in make_dev", minornr)); - dev = devfs_alloc(); dev_lock(); prep_cdevsw(devsw); |