summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2016-01-23 01:02:28 +0000
committerjhb <jhb@FreeBSD.org>2016-01-23 01:02:28 +0000
commit27f8f705dc0192ad9213cd60a5775d597a07f31c (patch)
tree76aeb0f3cf353817d4fef63c3fa6e12707b70073
parent488bba9bb8e7eb3166072ce713dae2ba4a3d8f8e (diff)
downloadFreeBSD-src-27f8f705dc0192ad9213cd60a5775d597a07f31c.zip
FreeBSD-src-27f8f705dc0192ad9213cd60a5775d597a07f31c.tar.gz
MFC 286974,291653:
286974: Remove reference to non-existent kern_openat(9). 291653: The cdevpriv_dtr_t typedef was not able to be used in a function prototype like the various d_*_t typedefs since it declared a function pointer rather than a function. Add a new d_priv_dtor_t typedef that declares the function and can be used as a function prototype. The previous typedef wasn't useful outside of the cdevpriv implementation, so retire it. The name d_priv_dtor_t was chosen to be more consistent with cdev methods since it is commonly used in place of d_close_t even though it is not a direct pointer in struct cdevsw.
-rw-r--r--share/man/man9/devfs_set_cdevpriv.99
-rw-r--r--sys/fs/devfs/devfs_vnops.c2
-rw-r--r--sys/sys/conf.h4
3 files changed, 7 insertions, 8 deletions
diff --git a/share/man/man9/devfs_set_cdevpriv.9 b/share/man/man9/devfs_set_cdevpriv.9
index 736a007..c33c175 100644
--- a/share/man/man9/devfs_set_cdevpriv.9
+++ b/share/man/man9/devfs_set_cdevpriv.9
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 15, 2012
+.Dd December 2, 2015
.Dt DEVFS_CDEVPRIV 9
.Os
.Sh NAME
@@ -36,12 +36,12 @@
.In sys/param.h
.In sys/conf.h
.Bd -literal
-typedef void (*cdevpriv_dtr_t)(void *data);
+typedef void d_priv_dtor_t(void *data);
.Ed
.Ft int
.Fn devfs_get_cdevpriv "void **datap"
.Ft int
-.Fn devfs_set_cdevpriv "void *priv" "cdevpriv_dtr_t dtr"
+.Fn devfs_set_cdevpriv "void *priv" "d_priv_dtor_t *dtr"
.Ft void
.Fn devfs_clear_cdevpriv "void"
.Sh DESCRIPTION
@@ -116,8 +116,7 @@ was called.
.Sh SEE ALSO
.Xr open 2 ,
.Xr close 2 ,
-.Xr devfs 5 ,
-.Xr kern_openat 9
+.Xr devfs 5
.Sh HISTORY
The
.Fn devfs_cdevpriv
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index ba56e56..b28968d 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -146,7 +146,7 @@ devfs_get_cdevpriv(void **datap)
}
int
-devfs_set_cdevpriv(void *priv, cdevpriv_dtr_t priv_dtr)
+devfs_set_cdevpriv(void *priv, d_priv_dtor_t *priv_dtr)
{
struct file *fp;
struct cdev_priv *cdp;
diff --git a/sys/sys/conf.h b/sys/sys/conf.h
index d72b58b..06c38c1 100644
--- a/sys/sys/conf.h
+++ b/sys/sys/conf.h
@@ -297,9 +297,9 @@ void setconf(void);
#define dev2unit(d) ((d)->si_drv0)
-typedef void (*cdevpriv_dtr_t)(void *data);
+typedef void d_priv_dtor_t(void *data);
int devfs_get_cdevpriv(void **datap);
-int devfs_set_cdevpriv(void *priv, cdevpriv_dtr_t dtr);
+int devfs_set_cdevpriv(void *priv, d_priv_dtor_t *dtr);
void devfs_clear_cdevpriv(void);
void devfs_fpdrop(struct file *fp); /* XXX This is not public KPI */
OpenPOWER on IntegriCloud