Date: Tue, 23 Apr 2013 10:42:16 +0000 (UTC) From: Hans Petter Selasky <hselasky@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r249795 - in head/sys/dev/usb: . controller Message-ID: <201304231042.r3NAgGnT071516@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: hselasky Date: Tue Apr 23 10:42:15 2013 New Revision: 249795 URL: http://svnweb.freebsd.org/changeset/base/249795 Log: Add convenience wrapper functions to run callbacks in the context of the USB explore thread. Modified: head/sys/dev/usb/controller/usb_controller.c head/sys/dev/usb/usb_process.h Modified: head/sys/dev/usb/controller/usb_controller.c ============================================================================== --- head/sys/dev/usb/controller/usb_controller.c Tue Apr 23 10:30:47 2013 (r249794) +++ head/sys/dev/usb/controller/usb_controller.c Tue Apr 23 10:42:15 2013 (r249795) @@ -901,3 +901,28 @@ usb_bus_mem_free_all(struct usb_bus *bus mtx_destroy(&bus->bus_mtx); } + +/* convenience wrappers */ +void +usb_proc_explore_mwait(struct usb_device *udev, void *pm1, void *pm2) +{ + usb_proc_mwait(USB_BUS_EXPLORE_PROC(udev->bus), pm1, pm2); +} + +void * +usb_proc_explore_msignal(struct usb_device *udev, void *pm1, void *pm2) +{ + return (usb_proc_msignal(USB_BUS_EXPLORE_PROC(udev->bus), pm1, pm2)); +} + +void +usb_proc_explore_lock(struct usb_device *udev) +{ + USB_BUS_LOCK(udev->bus); +} + +void +usb_proc_explore_unlock(struct usb_device *udev) +{ + USB_BUS_UNLOCK(udev->bus); +} Modified: head/sys/dev/usb/usb_process.h ============================================================================== --- head/sys/dev/usb/usb_process.h Tue Apr 23 10:30:47 2013 (r249794) +++ head/sys/dev/usb/usb_process.h Tue Apr 23 10:42:15 2013 (r249795) @@ -44,6 +44,7 @@ /* structure prototypes */ struct usb_proc_msg; +struct usb_device; /* * The following structure defines the USB process. @@ -81,4 +82,9 @@ void usb_proc_free(struct usb_process *u void *usb_proc_msignal(struct usb_process *up, void *pm0, void *pm1); void usb_proc_rewakeup(struct usb_process *up); +void usb_proc_explore_mwait(struct usb_device *, void *, void *); +void *usb_proc_explore_msignal(struct usb_device *, void *, void *); +void usb_proc_explore_lock(struct usb_device *); +void usb_proc_explore_unlock(struct usb_device *); + #endif /* _USB_PROCESS_H_ */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304231042.r3NAgGnT071516>