diff options
author | ed <ed@FreeBSD.org> | 2010-01-31 15:19:16 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2010-01-31 15:19:16 +0000 |
commit | 39978ea638ae4b16b5943056c923832cfcd520bd (patch) | |
tree | 6067dbf2369d68f10b2cc8dff254b51ab43e1d96 /sys/fs | |
parent | e48113132a62d511bbf3123991514b2cfd49f65a (diff) | |
download | FreeBSD-src-39978ea638ae4b16b5943056c923832cfcd520bd.zip FreeBSD-src-39978ea638ae4b16b5943056c923832cfcd520bd.tar.gz |
Properly use dev_refl()/dev_rel() in kern.devname.
While there, perform some clean-up fixes. Update some stale comments on
struct cdev * instead of dev_t and devfs_random(). Also add some missing
whitespace.
MFC after: 1 week
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/devfs/devfs_devs.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/sys/fs/devfs/devfs_devs.c b/sys/fs/devfs/devfs_devs.c index c4b9713..81b2752 100644 --- a/sys/fs/devfs/devfs_devs.c +++ b/sys/fs/devfs/devfs_devs.c @@ -72,8 +72,8 @@ SYSCTL_UINT(_vfs_devfs, OID_AUTO, rule_depth, CTLFLAG_RW, &devfs_rule_depth, 0, "Max depth of ruleset include"); /* - * Helper sysctl for devname(3). We're given a struct cdev * and return - * the name, if any, registered by the device driver. + * Helper sysctl for devname(3). We're given a dev_t and return the + * name, if any, registered by the device driver. */ static int sysctl_devname(SYSCTL_HANDLER_ARGS) @@ -81,23 +81,26 @@ sysctl_devname(SYSCTL_HANDLER_ARGS) int error; dev_t ud; struct cdev_priv *cdp; + struct cdev *dev; error = SYSCTL_IN(req, &ud, sizeof (ud)); if (error) return (error); if (ud == NODEV) - return(EINVAL); -/* - ud ^ devfs_random(); -*/ + return (EINVAL); + dev = NULL; dev_lock(); TAILQ_FOREACH(cdp, &cdevp_list, cdp_list) - if (cdp->cdp_inode == ud) + if (cdp->cdp_inode == ud) { + dev = &cdp->cdp_c; + dev_refl(dev); break; + } dev_unlock(); - if (cdp == NULL) - return(ENOENT); - return(SYSCTL_OUT(req, cdp->cdp_c.si_name, strlen(cdp->cdp_c.si_name) + 1)); + if (dev == NULL) + return (ENOENT); + error = SYSCTL_OUT(req, dev->si_name, strlen(dev->si_name) + 1); + dev_rel(dev); return (error); } |