Lines Matching refs:gadget
46 struct usb_gadget *gadget; member
60 int usb_gadget_map_request(struct usb_gadget *gadget, in usb_gadget_map_request() argument
63 struct device *dev = gadget->dev.parent; in usb_gadget_map_request()
93 void usb_gadget_unmap_request(struct usb_gadget *gadget, in usb_gadget_unmap_request() argument
100 dma_unmap_sg(gadget->dev.parent, req->sg, req->num_mapped_sgs, in usb_gadget_unmap_request()
105 dma_unmap_single(gadget->dev.parent, req->dma, req->length, in usb_gadget_unmap_request()
155 int usb_gadget_ep_match_desc(struct usb_gadget *gadget, in usb_gadget_ep_match_desc() argument
179 if (!gadget_is_dualspeed(gadget) && usb_endpoint_maxp(desc) & (3<<11)) in usb_gadget_ep_match_desc()
190 if (!gadget_is_dualspeed(gadget) && max > 1023) in usb_gadget_ep_match_desc()
196 if (ep_comp && gadget_is_superspeed(gadget)) { in usb_gadget_ep_match_desc()
213 if (!gadget_is_dualspeed(gadget) && max > 64) in usb_gadget_ep_match_desc()
226 struct usb_gadget *gadget = work_to_gadget(work); in usb_gadget_state_work() local
227 struct usb_udc *udc = gadget->udc; in usb_gadget_state_work()
233 void usb_gadget_set_state(struct usb_gadget *gadget, in usb_gadget_set_state() argument
236 gadget->state = state; in usb_gadget_set_state()
237 schedule_work(&gadget->work); in usb_gadget_set_state()
246 usb_gadget_connect(udc->gadget); in usb_udc_connect_control()
248 usb_gadget_disconnect(udc->gadget); in usb_udc_connect_control()
260 void usb_udc_vbus_handler(struct usb_gadget *gadget, bool status) in usb_udc_vbus_handler() argument
262 struct usb_udc *udc = gadget->udc; in usb_udc_vbus_handler()
280 void usb_gadget_udc_reset(struct usb_gadget *gadget, in usb_gadget_udc_reset() argument
283 driver->reset(gadget); in usb_gadget_udc_reset()
284 usb_gadget_set_state(gadget, USB_STATE_DEFAULT); in usb_gadget_udc_reset()
303 return udc->gadget->ops->udc_start(udc->gadget, udc->driver); in usb_gadget_udc_start()
320 udc->gadget->ops->udc_stop(udc->gadget); in usb_gadget_udc_stop()
355 int usb_add_gadget_udc_release(struct device *parent, struct usb_gadget *gadget, in usb_add_gadget_udc_release() argument
365 dev_set_name(&gadget->dev, "gadget"); in usb_add_gadget_udc_release()
366 INIT_WORK(&gadget->work, usb_gadget_state_work); in usb_add_gadget_udc_release()
367 gadget->dev.parent = parent; in usb_add_gadget_udc_release()
370 dma_set_coherent_mask(&gadget->dev, parent->coherent_dma_mask); in usb_add_gadget_udc_release()
371 gadget->dev.dma_parms = parent->dma_parms; in usb_add_gadget_udc_release()
372 gadget->dev.dma_mask = parent->dma_mask; in usb_add_gadget_udc_release()
376 gadget->dev.release = release; in usb_add_gadget_udc_release()
378 gadget->dev.release = usb_udc_nop_release; in usb_add_gadget_udc_release()
380 ret = device_register(&gadget->dev); in usb_add_gadget_udc_release()
393 udc->gadget = gadget; in usb_add_gadget_udc_release()
394 gadget->udc = udc; in usb_add_gadget_udc_release()
403 usb_gadget_set_state(gadget, USB_STATE_NOTATTACHED); in usb_add_gadget_udc_release()
416 device_del(&gadget->dev); in usb_add_gadget_udc_release()
419 put_device(&gadget->dev); in usb_add_gadget_udc_release()
435 int usb_add_gadget_udc(struct device *parent, struct usb_gadget *gadget) in usb_add_gadget_udc() argument
437 return usb_add_gadget_udc_release(parent, gadget, NULL); in usb_add_gadget_udc()
448 usb_gadget_disconnect(udc->gadget); in usb_gadget_remove_driver()
449 udc->driver->disconnect(udc->gadget); in usb_gadget_remove_driver()
450 udc->driver->unbind(udc->gadget); in usb_gadget_remove_driver()
455 udc->gadget->dev.driver = NULL; in usb_gadget_remove_driver()
465 void usb_del_gadget_udc(struct usb_gadget *gadget) in usb_del_gadget_udc() argument
467 struct usb_udc *udc = gadget->udc; in usb_del_gadget_udc()
472 dev_vdbg(gadget->dev.parent, "unregistering gadget\n"); in usb_del_gadget_udc()
482 flush_work(&gadget->work); in usb_del_gadget_udc()
484 device_unregister(&gadget->dev); in usb_del_gadget_udc()
499 udc->gadget->dev.driver = &driver->driver; in udc_bind_to_driver()
501 ret = driver->bind(udc->gadget, driver); in udc_bind_to_driver()
506 driver->unbind(udc->gadget); in udc_bind_to_driver()
519 udc->gadget->dev.driver = NULL; in udc_bind_to_driver()
586 usb_gadget_set_state(udc->gadget, in usb_gadget_unregister_driver()
605 usb_gadget_wakeup(udc->gadget); in usb_udc_srp_store()
623 usb_gadget_connect(udc->gadget); in usb_udc_softconn_store()
625 usb_gadget_disconnect(udc->gadget); in usb_udc_softconn_store()
626 udc->driver->disconnect(udc->gadget); in usb_udc_softconn_store()
641 struct usb_gadget *gadget = udc->gadget; in state_show() local
643 return sprintf(buf, "%s\n", usb_state_string(gadget->state)); in state_show()
653 usb_speed_string(udc->gadget->param)); \
665 struct usb_gadget *gadget = udc->gadget; \
667 return snprintf(buf, PAGE_SIZE, "%d\n", gadget->name); \
708 ret = add_uevent_var(env, "USB_UDC_NAME=%s", udc->gadget->name); in usb_udc_uevent()