aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/usb')
-rw-r--r--include/linux/usb/gadget.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index 18979cfb6d66..fe50912585f8 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -132,8 +132,9 @@ struct usb_ep_ops {
132 * @maxpacket:The maximum packet size used on this endpoint. The initial 132 * @maxpacket:The maximum packet size used on this endpoint. The initial
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. all other fields are 135 * @driver_data:for use by the gadget driver.
136 * read-only to gadget drivers. 136 * @desc: endpoint descriptor. This pointer is set before the endpoint is
137 * enabled and remains valid until the endpoint is disabled.
137 * 138 *
138 * the bus controller driver lists all the general purpose endpoints in 139 * the bus controller driver lists all the general purpose endpoints in
139 * gadget->ep_list. the control endpoint (gadget->ep0) is not in that list, 140 * gadget->ep_list. the control endpoint (gadget->ep0) is not in that list,
@@ -146,6 +147,7 @@ struct usb_ep {
146 const struct usb_ep_ops *ops; 147 const struct usb_ep_ops *ops;
147 struct list_head ep_list; 148 struct list_head ep_list;
148 unsigned maxpacket:16; 149 unsigned maxpacket:16;
150 const struct usb_endpoint_descriptor *desc;
149}; 151};
150 152
151/*-------------------------------------------------------------------------*/ 153/*-------------------------------------------------------------------------*/
@@ -154,11 +156,8 @@ struct usb_ep {
154 * usb_ep_enable - configure endpoint, making it usable 156 * usb_ep_enable - configure endpoint, making it usable
155 * @ep:the endpoint being configured. may not be the endpoint named "ep0". 157 * @ep:the endpoint being configured. may not be the endpoint named "ep0".
156 * drivers discover endpoints through the ep_list of a usb_gadget. 158 * drivers discover endpoints through the ep_list of a usb_gadget.
157 * @desc:descriptor for desired behavior. caller guarantees this pointer
158 * remains valid until the endpoint is disabled; the data byte order
159 * is little-endian (usb-standard).
160 * 159 *
161 * when configurations are set, or when interface settings change, the driver 160 * When configurations are set, or when interface settings change, the driver
162 * will enable or disable the relevant endpoints. while it is enabled, an 161 * will enable or disable the relevant endpoints. while it is enabled, an
163 * endpoint may be used for i/o until the driver receives a disconnect() from 162 * endpoint may be used for i/o until the driver receives a disconnect() from
164 * the host or until the endpoint is disabled. 163 * the host or until the endpoint is disabled.
@@ -173,10 +172,9 @@ struct usb_ep {
173 * 172 *
174 * returns zero, or a negative error code. 173 * returns zero, or a negative error code.
175 */ 174 */
176static inline int usb_ep_enable(struct usb_ep *ep, 175static inline int usb_ep_enable(struct usb_ep *ep)
177 const struct usb_endpoint_descriptor *desc)
178{ 176{
179 return ep->ops->enable(ep, desc); 177 return ep->ops->enable(ep, ep->desc);
180} 178}
181 179
182/** 180/**