Author: jhb
Date: Wed Dec  2 18:27:30 2015
New Revision: 291653
URL: https://svnweb.freebsd.org/changeset/base/291653

Log:
  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.
  
  Reviewed by:  kib, imp
  MFC after:    1 month
  Differential Revision:        https://reviews.freebsd.org/D4340

Modified:
  head/share/man/man9/devfs_set_cdevpriv.9
  head/sys/fs/devfs/devfs_vnops.c
  head/sys/sys/conf.h

Modified: head/share/man/man9/devfs_set_cdevpriv.9
==============================================================================
--- head/share/man/man9/devfs_set_cdevpriv.9    Wed Dec  2 17:26:37 2015        
(r291652)
+++ head/share/man/man9/devfs_set_cdevpriv.9    Wed Dec  2 18:27:30 2015        
(r291653)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 20, 2015
+.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

Modified: head/sys/fs/devfs/devfs_vnops.c
==============================================================================
--- head/sys/fs/devfs/devfs_vnops.c     Wed Dec  2 17:26:37 2015        
(r291652)
+++ head/sys/fs/devfs/devfs_vnops.c     Wed Dec  2 18:27:30 2015        
(r291653)
@@ -151,7 +151,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;

Modified: head/sys/sys/conf.h
==============================================================================
--- head/sys/sys/conf.h Wed Dec  2 17:26:37 2015        (r291652)
+++ head/sys/sys/conf.h Wed Dec  2 18:27:30 2015        (r291653)
@@ -277,9 +277,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 */
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to