Skip site navigation (1)Skip section navigation (2)
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>