Lines Matching refs:gadget

28 #include <linux/usb/gadget.h>
32 * @driver - the gadget driver pointer. For use by the class code
34 * @gadget - the gadget. For use by the class code
38 * to hold information about udc driver and gadget together.
42 struct usb_gadget *gadget;
53 int usb_gadget_map_request(struct usb_gadget *gadget,
62 mapped = dma_map_sg(&gadget->dev, req->sg, req->num_sgs,
65 dev_err(&gadget->dev, "failed to map SGs\n");
71 req->dma = dma_map_single(&gadget->dev, req->buf, req->length,
74 if (dma_mapping_error(&gadget->dev, req->dma)) {
75 dev_err(&gadget->dev, "failed to map buffer\n");
84 void usb_gadget_unmap_request(struct usb_gadget *gadget,
91 dma_unmap_sg(&gadget->dev, req->sg, req->num_mapped_sgs,
96 dma_unmap_single(&gadget->dev, req->dma, req->length,
106 * @gadget: The gadget we want to get started
107 * @driver: The driver we want to bind to @gadget
111 * to register a gadget driver to the device controller, before
112 * calling gadget driver's bind() method.
119 static inline int usb_gadget_start(struct usb_gadget *gadget,
123 return gadget->ops->start(driver, bind);
128 * @gadget: The gadget we want to get started
129 * @driver: The driver we want to bind to @gadget
132 * to register a gadget driver to the device controller, before
133 * calling gadget driver's bind() method.
140 static inline int usb_gadget_udc_start(struct usb_gadget *gadget,
143 return gadget->ops->udc_start(gadget, driver);
148 * @gadget: The device we want to stop activity
149 * @driver: The driver to unbind from @gadget
152 * gadget driver's unbind() method.
158 static inline void usb_gadget_stop(struct usb_gadget *gadget,
161 gadget->ops->stop(driver);
166 * @gadget: The device we want to stop activity
167 * @driver: The driver to unbind from @gadget
170 * gadget driver's unbind() method.
176 static inline void usb_gadget_udc_stop(struct usb_gadget *gadget,
179 gadget->ops->udc_stop(gadget, driver);
200 * usb_add_gadget_udc - adds a new gadget to the udc class driver list
203 * @gadget: the gadget to be added to the list
207 int usb_add_gadget_udc(struct device *parent, struct usb_gadget *gadget)
225 udc->gadget = gadget;
251 if (udc->gadget->ops->udc_start && udc->gadget->ops->udc_stop)
260 udc->gadget->name);
265 udc->driver->disconnect(udc->gadget);
266 usb_gadget_disconnect(udc->gadget);
267 udc->driver->unbind(udc->gadget);
268 usb_gadget_udc_stop(udc->gadget, udc->driver);
270 usb_gadget_stop(udc->gadget, udc->driver);
279 * @gadget: the gadget to be removed.
284 void usb_del_gadget_udc(struct usb_gadget *gadget)
290 if (udc->gadget == gadget)
293 dev_err(gadget->dev.parent, "gadget not registered.\n");
299 dev_vdbg(gadget->dev.parent, "unregistering gadget\n");
342 ret = bind(udc->gadget);
345 ret = usb_gadget_udc_start(udc->gadget, driver);
347 driver->unbind(udc->gadget);
350 usb_gadget_connect(udc->gadget);
353 ret = usb_gadget_start(udc->gadget, driver, bind);
402 usb_gadget_wakeup(udc->gadget);
415 usb_gadget_udc_start(udc->gadget, udc->driver);
416 usb_gadget_connect(udc->gadget);
418 usb_gadget_disconnect(udc->gadget);
420 usb_gadget_udc_stop(udc->gadget, udc->driver);
436 usb_speed_string(udc->gadget->param)); \
449 gadget_is_dualspeed(udc->gadget));
458 struct usb_gadget *gadget = udc->gadget; \
460 return snprintf(buf, PAGE_SIZE, "%d\n", gadget->name); \
499 ret = add_uevent_var(env, "USB_UDC_NAME=%s", udc->gadget->name);