diff options
author | Christopher Pascoe <pascoe@cvs.openbsd.org> | 2005-03-13 02:54:05 +0000 |
---|---|---|
committer | Christopher Pascoe <pascoe@cvs.openbsd.org> | 2005-03-13 02:54:05 +0000 |
commit | 8c99b398138993b55eb5ecb7fd935e8315be1a12 (patch) | |
tree | b89bccbb6b5267d4fed6dc98657bda69c14377a2 /sys/dev/usb/usbdivar.h | |
parent | 7d158c4e4058c60a5af4a4a03f0054b0381d62b4 (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.h | 9 |
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 */ |