diff options
| author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2010-10-04 23:18:05 +0000 |
|---|---|---|
| committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2010-10-04 23:18:05 +0000 |
| commit | 963169b4af5d1a347560f060254e1df9541b2350 (patch) | |
| tree | c082c15f2b4af936b99eda2cd4c67777fdf391ee /sys/dev/usb/usb_controller.h | |
| parent | 2ecb4e919f3df1edf00be35c9a85bd067495be2e (diff) | |
Notes
Diffstat (limited to 'sys/dev/usb/usb_controller.h')
| -rw-r--r-- | sys/dev/usb/usb_controller.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sys/dev/usb/usb_controller.h b/sys/dev/usb/usb_controller.h index 0f7ffac5d210..6b15dab993d5 100644 --- a/sys/dev/usb/usb_controller.h +++ b/sys/dev/usb/usb_controller.h @@ -97,6 +97,9 @@ struct usb_bus_methods { void (*get_hw_ep_profile) (struct usb_device *udev, const struct usb_hw_ep_profile **ppf, uint8_t ep_addr); void (*set_stall) (struct usb_device *udev, struct usb_xfer *xfer, struct usb_endpoint *ep, uint8_t *did_stall); + + /* USB Device mode mandatory. USB Host mode optional. */ + void (*clear_stall) (struct usb_device *udev, struct usb_endpoint *ep); /* Optional transfer polling support */ @@ -106,6 +109,28 @@ struct usb_bus_methods { /* Optional fixed power mode support */ void (*get_power_mode) (struct usb_device *udev, int8_t *pmode); + + /* Optional endpoint uninit */ + + void (*endpoint_uninit) (struct usb_device *, struct usb_endpoint *); + + /* Optional device init */ + + usb_error_t (*device_init) (struct usb_device *); + + /* Optional device uninit */ + + void (*device_uninit) (struct usb_device *); + + /* Optional for device and host mode */ + + void (*start_dma_delay) (struct usb_xfer *); + + void (*device_state_change) (struct usb_device *); + + /* Optional for host mode */ + + usb_error_t (*set_address) (struct usb_device *, struct mtx *, uint16_t); }; /* |
