Module Name:    src
Committed By:   pgoyette
Date:           Sun Jul 17 05:48:28 UTC 2016

Modified Files:
        src/share/man/man9 [pgoyette-localcount]: devsw_attach.9

Log Message:
Update for new functions {b,c}devsw_{acquire,release}


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.2.1 src/share/man/man9/devsw_attach.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/devsw_attach.9
diff -u src/share/man/man9/devsw_attach.9:1.2 src/share/man/man9/devsw_attach.9:1.2.2.1
--- src/share/man/man9/devsw_attach.9:1.2	Thu May 14 13:59:15 2015
+++ src/share/man/man9/devsw_attach.9	Sun Jul 17 05:48:28 2016
@@ -1,4 +1,4 @@
-.\"	$NetBSD: devsw_attach.9,v 1.2 2015/05/14 13:59:15 wiz Exp $
+.\"	$NetBSD: devsw_attach.9,v 1.2.2.1 2016/07/17 05:48:28 pgoyette Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,16 +27,20 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd May 13, 2015
+.Dd July 17, 2016
 .Dt DEVSW_ATTACH 9
 .Os
 .Sh NAME
 .Nm devsw_attach ,
 .Nm devsw_detach ,
 .Nm bdevsw_lookup ,
+.Nm bdevsw_lookup_acquire ,
 .Nm cdevsw_lookup ,
+.Nm cdevsw_lookup_acquire ,
 .Nm bdevsw_lookup_major ,
-.Nm cdevsw_lookup_major
+.Nm cdevsw_lookup_major,
+.Nm bdevsw_release ,
+.Nm cdevsw_release
 .Nd character and block device switch functions
 .Sh SYNOPSIS
 .In sys/conf.h
@@ -57,10 +61,26 @@
 .Fo bdevsw_lookup
 .Fa "dev_t dev"
 .Fc
+.Ft "const struct bdevsw *"
+.Fo bdevsw_lookup_acquire
+.Fa "dev_t dev"
+.Fc
+.Ft "void"
+.Fo bdevsw_release
+.Fa "const struct bdevsw *bdev"
+.Fc
 .Ft "const struct cdevsw *"
 .Fo cdevsw_lookup
 .Fa "dev_t dev"
 .Fc
+.Ft "const struct cdevsw *"
+.Fo cdevsw_lookup_acquire
+.Fa "dev_t dev"
+.Fc
+.Ft "void"
+.Fo cdevsw_release
+.Fa "const struct cdevsw *cdev"
+.Fc
 .Ft devmajor_t
 .Fo bdevsw_lookup_major
 .Fa "const struct bdevsw *bdev"
@@ -129,17 +149,38 @@ and
 structures.
 .Fn devsw_detach
 should be called before a loaded device driver is unloaded.
+For loadable drivers,
+.Fn devsw_detach
+will wait until the device's reference count is zero (see
+.Fn bdevsw_release
+and
+.Fn cdevsw_release
+below) before returning.
 .Pp
 The
-.Fn bdevsw_lookup
+.Fn bdevsw_lookup ,
+.Fn bdevsw_lookup_acquire ,
+.Fn cdevsw_lookup ,
 and
-.Fn cdevsw_lookup
+.Fn cdevsw_lookup_acquire
 functions return
 .Em "const struct bdevsw *"
 and
 .Em "const struct cdevsw *"
 for the given
 .Em dev .
+The
+.Fn bdevsw_lookup_acquire
+and
+.Fn cdevsw_lookup_acquire
+functions will additionally increment a reference count for loadable
+drivers.
+Callers must invoke
+.Fn bdevsw_release
+or
+.Fn cdevsw_release
+to decrement the reference counter when access to the device is no longer
+needed.
 .Pp
 The
 .Fn bdevsw_lookup_major
@@ -160,9 +201,11 @@ return 0.
 Otherwise they return an error value.
 .Pp
 In case of failure,
-.Fn bdevsw_lookup
+.Fn bdevsw_lookup ,
+.Fn bdevsw_lookup_acquire ,
+.Fn cdevsw_lookup ,
 and
-.Fn cdevsw_lookup
+.Fn cdevsw_lookup_acquire
 return the
 .Dv NULL
 value.

Reply via email to