summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_transfer.c
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2013-02-05 14:44:25 +0000
committerhselasky <hselasky@FreeBSD.org>2013-02-05 14:44:25 +0000
commit2e6231f8ebe6ac7a9374e9c72531a220a8aa2d9d (patch)
tree6f7e7bb33464657571c7932da58bed2b52ea622a /sys/dev/usb/usb_transfer.c
parent72c8e2de5282a2d1848447691f49c30e83e28950 (diff)
downloadFreeBSD-src-2e6231f8ebe6ac7a9374e9c72531a220a8aa2d9d.zip
FreeBSD-src-2e6231f8ebe6ac7a9374e9c72531a220a8aa2d9d.tar.gz
Add defines to more easily allow a single threaded version of the FreeBSD
USB stack. This is useful for non-kernel purposes, like the loader.
Diffstat (limited to 'sys/dev/usb/usb_transfer.c')
-rw-r--r--sys/dev/usb/usb_transfer.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/sys/dev/usb/usb_transfer.c b/sys/dev/usb/usb_transfer.c
index 397b0b7..edcc596 100644
--- a/sys/dev/usb/usb_transfer.c
+++ b/sys/dev/usb/usb_transfer.c
@@ -965,14 +965,14 @@ usbd_transfer_setup(struct usb_device *udev,
* deadlock!
*/
if (setup_start == usb_control_ep_cfg)
- info->done_p =
- &udev->bus->control_xfer_proc;
+ info->done_p =
+ USB_BUS_CONTROL_XFER_PROC(udev->bus);
else if (xfer_mtx == &Giant)
- info->done_p =
- &udev->bus->giant_callback_proc;
+ info->done_p =
+ USB_BUS_GIANT_PROC(udev->bus);
else
- info->done_p =
- &udev->bus->non_giant_callback_proc;
+ info->done_p =
+ USB_BUS_NON_GIANT_PROC(udev->bus);
}
/* reset sizes */
@@ -2614,7 +2614,7 @@ usbd_pipe_start(struct usb_xfer_queue *pq)
} else if (udev->ctrl_xfer[1]) {
info = udev->ctrl_xfer[1]->xroot;
usb_proc_msignal(
- &info->bus->non_giant_callback_proc,
+ USB_BUS_NON_GIANT_PROC(info->bus),
&udev->cs_msg[0], &udev->cs_msg[1]);
} else {
/* should not happen */
@@ -3216,10 +3216,10 @@ usbd_transfer_poll(struct usb_xfer **ppxfer, uint16_t max)
}
/* Make sure cv_signal() and cv_broadcast() is not called */
- udev->bus->control_xfer_proc.up_msleep = 0;
- udev->bus->explore_proc.up_msleep = 0;
- udev->bus->giant_callback_proc.up_msleep = 0;
- udev->bus->non_giant_callback_proc.up_msleep = 0;
+ USB_BUS_CONTROL_XFER_PROC(udev->bus)->up_msleep = 0;
+ USB_BUS_EXPLORE_PROC(udev->bus)->up_msleep = 0;
+ USB_BUS_GIANT_PROC(udev->bus)->up_msleep = 0;
+ USB_BUS_NON_GIANT_PROC(udev->bus)->up_msleep = 0;
/* poll USB hardware */
(udev->bus->methods->xfer_poll) (udev->bus);
OpenPOWER on IntegriCloud