aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb
diff options
context:
space:
mode:
authorTatyana Brokhman <tlinder@codeaurora.org>2011-06-28 09:33:49 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-06-28 14:14:36 -0400
commit48767a4e8263620c347c3fa17812c943dd0fc2fa (patch)
tree2859b92667049c57cae1c6ca02fd7897d6f3534f /include/linux/usb
parent72c973dd2b01b212a159faa330a2bc641a3ed809 (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.h3
-rw-r--r--include/linux/usb/gadget.h3
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
146int usb_interface_id(struct usb_configuration *, struct usb_function *); 146int usb_interface_id(struct usb_configuration *, struct usb_function *);
147 147
148int 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