summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usbdi.c
diff options
context:
space:
mode:
authorjoe <joe@FreeBSD.org>2002-04-07 10:41:51 +0000
committerjoe <joe@FreeBSD.org>2002-04-07 10:41:51 +0000
commit38f64ed352ce8cd213ddfaf4e2140d52845e0f54 (patch)
treebe01b105baa4e5ad98c2e17d85257f86f9398787 /sys/dev/usb/usbdi.c
parent886fba1185742949549c125476277fc05faadcb3 (diff)
downloadFreeBSD-src-38f64ed352ce8cd213ddfaf4e2140d52845e0f54.zip
FreeBSD-src-38f64ed352ce8cd213ddfaf4e2140d52845e0f54.tar.gz
MFNetBSD: usbdi.c (1.82), usbdivar.h (1.64)
date: 2001/11/10 16:54:56; author: augustss; Add some dump routines for debugging.
Diffstat (limited to 'sys/dev/usb/usbdi.c')
-rw-r--r--sys/dev/usb/usbdi.c51
1 files changed, 50 insertions, 1 deletions
diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c
index 49d675f..d57286e 100644
--- a/sys/dev/usb/usbdi.c
+++ b/sys/dev/usb/usbdi.c
@@ -108,7 +108,41 @@ usbd_xfer_isread(usbd_xfer_handle xfer)
}
#ifdef USB_DEBUG
-void usbd_dump_queue(usbd_pipe_handle);
+void
+usbd_dump_iface(struct usbd_interface *iface)
+{
+ printf("usbd_dump_iface: iface=%p\n", iface);
+ if (iface == NULL)
+ return;
+ printf(" device=%p idesc=%p index=%d altindex=%d priv=%p\n",
+ iface->device, iface->idesc, iface->index, iface->altindex,
+ iface->priv);
+}
+
+void
+usbd_dump_device(struct usbd_device *dev)
+{
+ printf("usbd_dump_device: dev=%p\n", dev);
+ if (dev == NULL)
+ return;
+ printf(" bus=%p default_pipe=%p\n", dev->bus, dev->default_pipe);
+ printf(" address=%d config=%d depth=%d lowspeed=%d self_powered=%d power=%d langid=%d\n",
+ dev->address, dev->config, dev->depth, dev->lowspeed,
+ dev->self_powered, dev->power, dev->langid);
+}
+
+void
+usbd_dump_endpoint(struct usbd_endpoint *endp)
+{
+ printf("usbd_dump_endpoint: endp=%p\n", endp);
+ if (endp == NULL)
+ return;
+ printf(" edesc=%p refcnt=%d\n", endp->edesc, endp->refcnt);
+ if (endp->edesc)
+ printf(" bEndpointAddress=0x%02x\n",
+ endp->edesc->bEndpointAddress);
+}
+
void
usbd_dump_queue(usbd_pipe_handle pipe)
{
@@ -121,6 +155,21 @@ usbd_dump_queue(usbd_pipe_handle pipe)
printf(" xfer=%p\n", xfer);
}
}
+
+void
+usbd_dump_pipe(usbd_pipe_handle pipe)
+{
+ printf("usbd_dump_pipe: pipe=%p\n", pipe);
+ if (pipe == NULL)
+ return;
+ usbd_dump_iface(pipe->iface);
+ usbd_dump_device(pipe->device);
+ usbd_dump_endpoint(pipe->endpoint);
+ printf(" (usbd_dump_pipe:)\n refcnt=%d running=%d aborting=%d\n",
+ pipe->refcnt, pipe->running, pipe->aborting);
+ printf("intrxfer=%p, repeat=%d, interval=%d\n",
+ pipe->intrxfer, pipe->repeat, pipe->interval);
+}
#endif
usbd_status
OpenPOWER on IntegriCloud