Module Name: src Committed By: jmcneill Date: Tue Jan 22 15:35:08 UTC 2013
Modified Files: src/share/man/man9: usbdi.9 Log Message: document USBD_MPSAFE and USB_TASKQ_MPSAFE To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/share/man/man9/usbdi.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/usbdi.9 diff -u src/share/man/man9/usbdi.9:1.24 src/share/man/man9/usbdi.9:1.25 --- src/share/man/man9/usbdi.9:1.24 Fri Jul 20 07:55:44 2012 +++ src/share/man/man9/usbdi.9 Tue Jan 22 15:35:08 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: usbdi.9,v 1.24 2012/07/20 07:55:44 mrg Exp $ +.\" $NetBSD: usbdi.9,v 1.25 2013/01/22 15:35:08 jmcneill Exp $ .\" .\" Copyright (c) 2012 Matthew R. Green .\" All rights reserved. @@ -54,7 +54,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 20, 2012 +.Dd January 22, 2013 .Dt USBDI 9 .Os .Sh NAME @@ -199,7 +199,7 @@ .Fn usb_rem_task "usbd_device_handle iface" "struct usb_task *task" .Ft void .Fn usb_init_task "struct usb_task *task" "void (*func)(void *)" \ - "void *arg" + "void *arg" uint8_t flags .Ft const struct usb_devno * .Fn usb_lookup "const struct usb_devno *tbl" \ "u_int16_t vendor" "u_int16_t product" @@ -490,9 +490,12 @@ the .Fa address of this pipe and .Fa flags -for this pipe which currently may be 0 or +for this pipe which currently may be 0, or a combination of .Dv USBD_EXCLUSIVE_USE , -to enable exclusive access to this interface and address. +to enable exclusive access to this interface and address, and +.Dv USBD_MPSAFE , +to allow running transfer callbacks on this pipe without first acquiring +.Dv kernel_lock . The .Fn usbd_open_pipe_intr takes additional arguments @@ -923,9 +926,19 @@ function takes a pointer to a .Ft struct usb_task that will be initalised, a function to call for this task .Fa func , -and the argument to pass to +the argument to pass to .Fa func , -.Fa arg . +.Fa arg , +and the task flags +.Fa flags . +If the +.Fa flags +argument is +.Dt USB_TASKQ_MPSAFE , +the +.Fa func +function will be called without first acquiring +.Dt kernel_lock . .Pp To invoke the task callback the .Fn usb_add_task