summaryrefslogtreecommitdiff
path: root/sys/dev/usb/usbdivar.h
diff options
context:
space:
mode:
authorChristopher Pascoe <pascoe@cvs.openbsd.org>2005-03-13 02:54:05 +0000
committerChristopher Pascoe <pascoe@cvs.openbsd.org>2005-03-13 02:54:05 +0000
commit8c99b398138993b55eb5ecb7fd935e8315be1a12 (patch)
treeb89bccbb6b5267d4fed6dc98657bda69c14377a2 /sys/dev/usb/usbdivar.h
parent7d158c4e4058c60a5af4a4a03f0054b0381d62b4 (diff)
Merge support for USB1 devices located beyond USB2 hubs, mostly from netbsd.
Supports bulk, control and interrupt pipes, letting USB1 keyboards and most network interfaces work when connected to a USB2 hub. ok dlg@
Diffstat (limited to 'sys/dev/usb/usbdivar.h')
-rw-r--r--sys/dev/usb/usbdivar.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/usb/usbdivar.h b/sys/dev/usb/usbdivar.h
index ed0ca70b983..78136b3462d 100644
--- a/sys/dev/usb/usbdivar.h
+++ b/sys/dev/usb/usbdivar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdivar.h,v 1.22 2004/12/12 05:21:14 dlg Exp $ */
+/* $OpenBSD: usbdivar.h,v 1.23 2005/03/13 02:54:04 pascoe Exp $ */
/* $NetBSD: usbdivar.h,v 1.70 2002/07/11 21:14:36 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdivar.h,v 1.11 1999/11/17 22:33:51 n_hibma Exp $ */
@@ -74,6 +74,10 @@ struct usbd_pipe_methods {
void (*done)(usbd_xfer_handle xfer);
};
+struct usbd_tt {
+ struct usbd_hub *hub;
+};
+
struct usbd_port {
usb_port_status_t status;
u_int16_t power; /* mA of current on port */
@@ -83,6 +87,7 @@ struct usbd_port {
u_int8_t reattach;
struct usbd_device *device; /* Connected device */
struct usbd_device *parent; /* The ports hub */
+ struct usbd_tt *tt; /* Transaction translator (if any) */
};
struct usbd_hub {
@@ -145,7 +150,7 @@ struct usbd_device {
usb_event_cookie_t cookie; /* unique connection id */
struct usbd_port *powersrc; /* upstream hub port, or 0 */
struct usbd_device *myhub; /* upstream hub */
- struct usbd_device *myhighhub; /* closest high speed hub */
+ struct usbd_port *myhsport; /* closest high speed port */
struct usbd_endpoint def_ep; /* for pipe 0 */
usb_endpoint_descriptor_t def_ep_desc; /* for pipe 0 */
struct usbd_interface *ifaces; /* array of all interfaces */