diff options
author | Tatyana Brokhman <tlinder@codeaurora.org> | 2011-06-28 09:33:49 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-06-28 14:14:36 -0400 |
commit | 48767a4e8263620c347c3fa17812c943dd0fc2fa (patch) | |
tree | 2859b92667049c57cae1c6ca02fd7897d6f3534f /include/linux/usb | |
parent | 72c973dd2b01b212a159faa330a2bc641a3ed809 (diff) |
usb: gadget: configure endpoint according to gadget speed
Add config_ep_by_speed() to configure the endpoint
according to the gadget speed.
Using this function will spare the FDs from handling
the endpoint chosen descriptor.
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/usb')
-rw-r--r-- | include/linux/usb/composite.h | 3 | ||||
-rw-r--r-- | include/linux/usb/gadget.h | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h index b78cba466d3d..2014d6b1babc 100644 --- a/include/linux/usb/composite.h +++ b/include/linux/usb/composite.h | |||
@@ -145,6 +145,9 @@ int usb_function_activate(struct usb_function *); | |||
145 | 145 | ||
146 | int usb_interface_id(struct usb_configuration *, struct usb_function *); | 146 | int usb_interface_id(struct usb_configuration *, struct usb_function *); |
147 | 147 | ||
148 | int config_ep_by_speed(struct usb_gadget *g, struct usb_function *f, | ||
149 | struct usb_ep *_ep); | ||
150 | |||
148 | /** | 151 | /** |
149 | * ep_choose - select descriptor endpoint at current device speed | 152 | * ep_choose - select descriptor endpoint at current device speed |
150 | * @g: gadget, connected and running at some speed | 153 | * @g: gadget, connected and running at some speed |
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index fe50912585f8..0bcc2b76bcd8 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h | |||
@@ -133,6 +133,8 @@ struct usb_ep_ops { | |||
133 | * value can sometimes be reduced (hardware allowing), according to | 133 | * value can sometimes be reduced (hardware allowing), according to |
134 | * the endpoint descriptor used to configure the endpoint. | 134 | * the endpoint descriptor used to configure the endpoint. |
135 | * @driver_data:for use by the gadget driver. | 135 | * @driver_data:for use by the gadget driver. |
136 | * @address: used to identify the endpoint when finding descriptor that | ||
137 | * matches connection speed | ||
136 | * @desc: endpoint descriptor. This pointer is set before the endpoint is | 138 | * @desc: endpoint descriptor. This pointer is set before the endpoint is |
137 | * enabled and remains valid until the endpoint is disabled. | 139 | * enabled and remains valid until the endpoint is disabled. |
138 | * | 140 | * |
@@ -147,6 +149,7 @@ struct usb_ep { | |||
147 | const struct usb_ep_ops *ops; | 149 | const struct usb_ep_ops *ops; |
148 | struct list_head ep_list; | 150 | struct list_head ep_list; |
149 | unsigned maxpacket:16; | 151 | unsigned maxpacket:16; |
152 | u8 address; | ||
150 | const struct usb_endpoint_descriptor *desc; | 153 | const struct usb_endpoint_descriptor *desc; |
151 | }; | 154 | }; |
152 | 155 | ||