summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb
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
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')
-rw-r--r--sys/dev/usb/usbdi.c51
-rw-r--r--sys/dev/usb/usbdivar.h8
2 files changed, 57 insertions, 2 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
diff --git a/sys/dev/usb/usbdivar.h b/sys/dev/usb/usbdivar.h
index d349d8b..7420532 100644
--- a/sys/dev/usb/usbdivar.h
+++ b/sys/dev/usb/usbdivar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: usbdivar.h,v 1.63 2001/01/21 19:00:06 augustss Exp $ */
+/* $NetBSD: usbdivar.h,v 1.64 2001/11/10 16:54:56 augustss Exp $ */
/* $FreeBSD$ */
/*
@@ -222,6 +222,12 @@ struct usbd_xfer {
void usbd_init(void);
void usbd_finish(void);
+void usbd_dump_iface(struct usbd_interface *iface);
+void usbd_dump_device(struct usbd_device *dev);
+void usbd_dump_endpoint(struct usbd_endpoint *endp);
+void usbd_dump_queue(usbd_pipe_handle pipe);
+void usbd_dump_pipe(usbd_pipe_handle pipe);
+
/* Routines from usb_subr.c */
int usbctlprint(void *, const char *);
void usb_delay_ms(usbd_bus_handle, u_int);
OpenPOWER on IntegriCloud