summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r--sys/kern/kern_conf.c62
1 files changed, 28 insertions, 34 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index 216a777..b417b73 100644
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -51,7 +51,7 @@ extern unsigned char reserved_majors[256];
/*
* This is the number of hash-buckets. Experiements with 'real-life'
- * udev_t's show that a prime halfway between two powers of two works
+ * dev_t's show that a prime halfway between two powers of two works
* best.
*/
#define DEVT_HASH 83
@@ -70,6 +70,8 @@ SYSCTL_INT(_debug, OID_AUTO, free_devt, CTLFLAG_RW, &free_devt, 0, "");
static struct mtx devmtx;
static void freedev(struct cdev *dev);
+static struct cdev *newdev(int x, int y);
+
static void
devlock(void)
@@ -125,8 +127,6 @@ cdevsw_rel(struct cdevsw *csw)
devunlock();
}
-static struct cdev *makedev(int x, int y);
-
int
nullop(void)
{
@@ -247,16 +247,16 @@ devsw(struct cdev *dev)
int
major(struct cdev *x)
{
- if (x == NODEV)
- return NOUDEV;
+ if (x == NULL)
+ return NODEV;
return((x->si_udev >> 8) & 0xff);
}
int
minor(struct cdev *x)
{
- if (x == NODEV)
- return NOUDEV;
+ if (x == NULL)
+ return NODEV;
return(x->si_udev & 0xffff00ff);
}
@@ -265,8 +265,8 @@ dev2unit(struct cdev *x)
{
int i;
- if (x == NODEV)
- return NOUDEV;
+ if (x == NULL)
+ return NODEV;
i = minor(x);
return ((i & 0xff) | (i >> 8));
}
@@ -304,14 +304,14 @@ allocdev(void)
}
static struct cdev *
-makedev(int x, int y)
+newdev(int x, int y)
{
struct cdev *si;
- udev_t udev;
+ dev_t udev;
int hash;
- if (x == umajor(NOUDEV) && y == uminor(NOUDEV))
- panic("makedev of NOUDEV");
+ if (x == umajor(NODEV) && y == uminor(NODEV))
+ panic("newdev of NODEV");
udev = (x << 8) | y;
hash = udev % DEVT_HASH;
LIST_FOREACH(si, &dev_hash[hash], si_hash) {
@@ -337,48 +337,42 @@ freedev(struct cdev *dev)
}
}
-udev_t
+dev_t
dev2udev(struct cdev *x)
{
- if (x == NODEV)
- return (NOUDEV);
+ if (x == NULL)
+ return (NODEV);
return (x->si_udev);
}
struct cdev *
-udev2dev(udev_t udev)
+findcdev(dev_t udev)
{
struct cdev *si;
int hash;
- if (udev == NOUDEV)
- return (NODEV);
+ if (udev == NODEV)
+ return (NULL);
hash = udev % DEVT_HASH;
LIST_FOREACH(si, &dev_hash[hash], si_hash) {
if (si->si_udev == udev)
return (si);
}
- return (NODEV);
+ return (NULL);
}
int
-uminor(udev_t dev)
+uminor(dev_t dev)
{
return (dev & 0xffff00ff);
}
int
-umajor(udev_t dev)
+umajor(dev_t dev)
{
return ((dev & 0xff00) >> 8);
}
-udev_t
-makeudev(int x, int y)
-{
- return ((x << 8) | y);
-}
-
static void
find_major(struct cdevsw *devsw)
{
@@ -479,7 +473,7 @@ make_dev(struct cdevsw *devsw, int minornr, uid_t uid, gid_t gid, int perms, con
if (!(devsw->d_flags & D_INIT))
prep_cdevsw(devsw);
- dev = makedev(devsw->d_maj, minornr);
+ dev = newdev(devsw->d_maj, minornr);
if (dev->si_flags & SI_CHEAPCLONE &&
dev->si_flags & SI_NAMED &&
dev->si_devsw == devsw) {
@@ -750,7 +744,7 @@ clone_create(struct clonedevs **cdp, struct cdevsw *csw, int *up, struct cdev **
}
if (unit == -1)
unit = low & CLONE_UNITMASK;
- dev = makedev(csw->d_maj, unit2minor(unit | extra));
+ dev = newdev(csw->d_maj, unit2minor(unit | extra));
KASSERT(!(dev->si_flags & SI_CLONELIST),
("Dev %p should not be on clonelist", dev));
if (dl != NULL)
@@ -794,16 +788,16 @@ static int
sysctl_devname(SYSCTL_HANDLER_ARGS)
{
int error;
- udev_t ud;
+ dev_t ud;
struct cdev *dev;
error = SYSCTL_IN(req, &ud, sizeof (ud));
if (error)
return (error);
- if (ud == NOUDEV)
+ if (ud == NODEV)
return(EINVAL);
- dev = udev2dev(ud);
- if (dev == NODEV)
+ dev = findcdev(ud);
+ if (dev == NULL)
error = ENOENT;
else
error = SYSCTL_OUT(req, dev->si_name, strlen(dev->si_name) + 1);
OpenPOWER on IntegriCloud