diff options
Diffstat (limited to 'include/linux/usb/hcd.h')
| -rw-r--r-- | include/linux/usb/hcd.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h index ca228f00b82..d268415b7a4 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h | |||
| @@ -374,7 +374,42 @@ extern void usb_destroy_configuration(struct usb_device *dev); | |||
| 374 | * HCD Root Hub support | 374 | * HCD Root Hub support |
| 375 | */ | 375 | */ |
| 376 | 376 | ||
| 377 | #include <linux/usb/hub.h> | 377 | #include <linux/usb/ch11.h> |
| 378 | |||
| 379 | /* | ||
| 380 | * As of USB 2.0, full/low speed devices are segregated into trees. | ||
| 381 | * One type grows from USB 1.1 host controllers (OHCI, UHCI etc). | ||
| 382 | * The other type grows from high speed hubs when they connect to | ||
| 383 | * full/low speed devices using "Transaction Translators" (TTs). | ||
| 384 | * | ||
| 385 | * TTs should only be known to the hub driver, and high speed bus | ||
| 386 | * drivers (only EHCI for now). They affect periodic scheduling and | ||
| 387 | * sometimes control/bulk error recovery. | ||
| 388 | */ | ||
| 389 | |||
| 390 | struct usb_device; | ||
| 391 | |||
| 392 | struct usb_tt { | ||
| 393 | struct usb_device *hub; /* upstream highspeed hub */ | ||
| 394 | int multi; /* true means one TT per port */ | ||
| 395 | unsigned think_time; /* think time in ns */ | ||
| 396 | |||
| 397 | /* for control/bulk error recovery (CLEAR_TT_BUFFER) */ | ||
| 398 | spinlock_t lock; | ||
| 399 | struct list_head clear_list; /* of usb_tt_clear */ | ||
| 400 | struct work_struct clear_work; | ||
| 401 | }; | ||
| 402 | |||
| 403 | struct usb_tt_clear { | ||
| 404 | struct list_head clear_list; | ||
| 405 | unsigned tt; | ||
| 406 | u16 devinfo; | ||
| 407 | struct usb_hcd *hcd; | ||
| 408 | struct usb_host_endpoint *ep; | ||
| 409 | }; | ||
| 410 | |||
| 411 | extern int usb_hub_clear_tt_buffer(struct urb *urb); | ||
| 412 | extern void usb_ep0_reinit(struct usb_device *); | ||
| 378 | 413 | ||
| 379 | /* (shifted) direction/type/recipient from the USB 2.0 spec, table 9.2 */ | 414 | /* (shifted) direction/type/recipient from the USB 2.0 spec, table 9.2 */ |
| 380 | #define DeviceRequest \ | 415 | #define DeviceRequest \ |
