Lines Matching refs:gadget
38 struct usb_gadget *gadget; member
455 int usb_gadget_frame_number(struct usb_gadget *gadget) in usb_gadget_frame_number() argument
459 ret = gadget->ops->get_frame(gadget); in usb_gadget_frame_number()
461 trace_usb_gadget_frame_number(gadget, ret); in usb_gadget_frame_number()
480 int usb_gadget_wakeup(struct usb_gadget *gadget) in usb_gadget_wakeup() argument
484 if (!gadget->ops->wakeup) { in usb_gadget_wakeup()
489 ret = gadget->ops->wakeup(gadget); in usb_gadget_wakeup()
492 trace_usb_gadget_wakeup(gadget, ret); in usb_gadget_wakeup()
507 int usb_gadget_set_selfpowered(struct usb_gadget *gadget) in usb_gadget_set_selfpowered() argument
511 if (!gadget->ops->set_selfpowered) { in usb_gadget_set_selfpowered()
516 ret = gadget->ops->set_selfpowered(gadget, 1); in usb_gadget_set_selfpowered()
519 trace_usb_gadget_set_selfpowered(gadget, ret); in usb_gadget_set_selfpowered()
535 int usb_gadget_clear_selfpowered(struct usb_gadget *gadget) in usb_gadget_clear_selfpowered() argument
539 if (!gadget->ops->set_selfpowered) { in usb_gadget_clear_selfpowered()
544 ret = gadget->ops->set_selfpowered(gadget, 0); in usb_gadget_clear_selfpowered()
547 trace_usb_gadget_clear_selfpowered(gadget, ret); in usb_gadget_clear_selfpowered()
566 int usb_gadget_vbus_connect(struct usb_gadget *gadget) in usb_gadget_vbus_connect() argument
570 if (!gadget->ops->vbus_session) { in usb_gadget_vbus_connect()
575 ret = gadget->ops->vbus_session(gadget, 1); in usb_gadget_vbus_connect()
578 trace_usb_gadget_vbus_connect(gadget, ret); in usb_gadget_vbus_connect()
596 int usb_gadget_vbus_draw(struct usb_gadget *gadget, unsigned mA) in usb_gadget_vbus_draw() argument
600 if (!gadget->ops->vbus_draw) { in usb_gadget_vbus_draw()
605 ret = gadget->ops->vbus_draw(gadget, mA); in usb_gadget_vbus_draw()
607 gadget->mA = mA; in usb_gadget_vbus_draw()
610 trace_usb_gadget_vbus_draw(gadget, ret); in usb_gadget_vbus_draw()
627 int usb_gadget_vbus_disconnect(struct usb_gadget *gadget) in usb_gadget_vbus_disconnect() argument
631 if (!gadget->ops->vbus_session) { in usb_gadget_vbus_disconnect()
636 ret = gadget->ops->vbus_session(gadget, 0); in usb_gadget_vbus_disconnect()
639 trace_usb_gadget_vbus_disconnect(gadget, ret); in usb_gadget_vbus_disconnect()
656 int usb_gadget_connect(struct usb_gadget *gadget) in usb_gadget_connect() argument
660 if (!gadget->ops->pullup) { in usb_gadget_connect()
665 if (gadget->deactivated) { in usb_gadget_connect()
670 gadget->connected = true; in usb_gadget_connect()
674 ret = gadget->ops->pullup(gadget, 1); in usb_gadget_connect()
676 gadget->connected = 1; in usb_gadget_connect()
679 trace_usb_gadget_connect(gadget, ret); in usb_gadget_connect()
695 int usb_gadget_disconnect(struct usb_gadget *gadget) in usb_gadget_disconnect() argument
699 if (!gadget->ops->pullup) { in usb_gadget_disconnect()
704 if (gadget->deactivated) { in usb_gadget_disconnect()
709 gadget->connected = false; in usb_gadget_disconnect()
713 ret = gadget->ops->pullup(gadget, 0); in usb_gadget_disconnect()
715 gadget->connected = 0; in usb_gadget_disconnect()
718 trace_usb_gadget_disconnect(gadget, ret); in usb_gadget_disconnect()
735 int usb_gadget_deactivate(struct usb_gadget *gadget) in usb_gadget_deactivate() argument
739 if (gadget->deactivated) in usb_gadget_deactivate()
742 if (gadget->connected) { in usb_gadget_deactivate()
743 ret = usb_gadget_disconnect(gadget); in usb_gadget_deactivate()
751 gadget->connected = true; in usb_gadget_deactivate()
753 gadget->deactivated = true; in usb_gadget_deactivate()
756 trace_usb_gadget_deactivate(gadget, ret); in usb_gadget_deactivate()
771 int usb_gadget_activate(struct usb_gadget *gadget) in usb_gadget_activate() argument
775 if (!gadget->deactivated) in usb_gadget_activate()
778 gadget->deactivated = false; in usb_gadget_activate()
784 if (gadget->connected) in usb_gadget_activate()
785 ret = usb_gadget_connect(gadget); in usb_gadget_activate()
788 trace_usb_gadget_activate(gadget, ret); in usb_gadget_activate()
839 int usb_gadget_map_request(struct usb_gadget *gadget, in usb_gadget_map_request() argument
842 return usb_gadget_map_request_by_dev(gadget->dev.parent, req, is_in); in usb_gadget_map_request()
865 void usb_gadget_unmap_request(struct usb_gadget *gadget, in usb_gadget_unmap_request() argument
868 usb_gadget_unmap_request_by_dev(gadget->dev.parent, req, is_in); in usb_gadget_unmap_request()
918 int usb_gadget_ep_match_desc(struct usb_gadget *gadget, in usb_gadget_ep_match_desc() argument
942 if (!gadget_is_dualspeed(gadget) && usb_endpoint_maxp_mult(desc) > 1) in usb_gadget_ep_match_desc()
953 if (!gadget_is_dualspeed(gadget) && max > 1023) in usb_gadget_ep_match_desc()
959 if (ep_comp && gadget_is_superspeed(gadget)) { in usb_gadget_ep_match_desc()
976 if (!gadget_is_dualspeed(gadget) && max > 64) in usb_gadget_ep_match_desc()
989 struct usb_gadget *gadget = work_to_gadget(work); in usb_gadget_state_work() local
990 struct usb_udc *udc = gadget->udc; in usb_gadget_state_work()
996 void usb_gadget_set_state(struct usb_gadget *gadget, in usb_gadget_set_state() argument
999 gadget->state = state; in usb_gadget_set_state()
1000 schedule_work(&gadget->work); in usb_gadget_set_state()
1009 usb_gadget_connect(udc->gadget); in usb_udc_connect_control()
1011 usb_gadget_disconnect(udc->gadget); in usb_udc_connect_control()
1023 void usb_udc_vbus_handler(struct usb_gadget *gadget, bool status) in usb_udc_vbus_handler() argument
1025 struct usb_udc *udc = gadget->udc; in usb_udc_vbus_handler()
1043 void usb_gadget_udc_reset(struct usb_gadget *gadget, in usb_gadget_udc_reset() argument
1046 driver->reset(gadget); in usb_gadget_udc_reset()
1047 usb_gadget_set_state(gadget, USB_STATE_DEFAULT); in usb_gadget_udc_reset()
1066 return udc->gadget->ops->udc_start(udc->gadget, udc->driver); in usb_gadget_udc_start()
1083 udc->gadget->ops->udc_stop(udc->gadget); in usb_gadget_udc_stop()
1099 if (udc->gadget->ops->udc_set_speed) { in usb_gadget_udc_set_speed()
1102 s = min(speed, udc->gadget->max_speed); in usb_gadget_udc_set_speed()
1103 udc->gadget->ops->udc_set_speed(udc->gadget, s); in usb_gadget_udc_set_speed()
1158 int usb_add_gadget_udc_release(struct device *parent, struct usb_gadget *gadget, in usb_add_gadget_udc_release() argument
1164 dev_set_name(&gadget->dev, "gadget"); in usb_add_gadget_udc_release()
1165 INIT_WORK(&gadget->work, usb_gadget_state_work); in usb_add_gadget_udc_release()
1166 gadget->dev.parent = parent; in usb_add_gadget_udc_release()
1169 gadget->dev.release = release; in usb_add_gadget_udc_release()
1171 gadget->dev.release = usb_udc_nop_release; in usb_add_gadget_udc_release()
1173 device_initialize(&gadget->dev); in usb_add_gadget_udc_release()
1188 ret = device_add(&gadget->dev); in usb_add_gadget_udc_release()
1192 udc->gadget = gadget; in usb_add_gadget_udc_release()
1193 gadget->udc = udc; in usb_add_gadget_udc_release()
1202 usb_gadget_set_state(gadget, USB_STATE_NOTATTACHED); in usb_add_gadget_udc_release()
1221 device_del(&gadget->dev); in usb_add_gadget_udc_release()
1227 put_device(&gadget->dev); in usb_add_gadget_udc_release()
1253 name = kstrdup(udc->gadget->name, GFP_KERNEL); in usb_get_gadget_udc_name()
1270 int usb_add_gadget_udc(struct device *parent, struct usb_gadget *gadget) in usb_add_gadget_udc() argument
1272 return usb_add_gadget_udc_release(parent, gadget, NULL); in usb_add_gadget_udc()
1283 usb_gadget_disconnect(udc->gadget); in usb_gadget_remove_driver()
1284 udc->driver->disconnect(udc->gadget); in usb_gadget_remove_driver()
1285 udc->driver->unbind(udc->gadget); in usb_gadget_remove_driver()
1290 udc->gadget->dev.driver = NULL; in usb_gadget_remove_driver()
1300 void usb_del_gadget_udc(struct usb_gadget *gadget) in usb_del_gadget_udc() argument
1302 struct usb_udc *udc = gadget->udc; in usb_del_gadget_udc()
1307 dev_vdbg(gadget->dev.parent, "unregistering gadget\n"); in usb_del_gadget_udc()
1321 flush_work(&gadget->work); in usb_del_gadget_udc()
1323 device_unregister(&gadget->dev); in usb_del_gadget_udc()
1324 memset(&gadget->dev, 0x00, sizeof(gadget->dev)); in usb_del_gadget_udc()
1339 udc->gadget->dev.driver = &driver->driver; in udc_bind_to_driver()
1343 ret = driver->bind(udc->gadget, driver); in udc_bind_to_driver()
1348 driver->unbind(udc->gadget); in udc_bind_to_driver()
1361 udc->gadget->dev.driver = NULL; in udc_bind_to_driver()
1422 usb_gadget_set_state(udc->gadget, in usb_gadget_unregister_driver()
1453 usb_gadget_wakeup(udc->gadget); in srp_store()
1471 usb_gadget_connect(udc->gadget); in soft_connect_store()
1473 usb_gadget_disconnect(udc->gadget); in soft_connect_store()
1474 udc->driver->disconnect(udc->gadget); in soft_connect_store()
1489 struct usb_gadget *gadget = udc->gadget; in state_show() local
1491 return sprintf(buf, "%s\n", usb_state_string(gadget->state)); in state_show()
1513 usb_speed_string(udc->gadget->param)); \
1525 struct usb_gadget *gadget = udc->gadget; \
1527 return scnprintf(buf, PAGE_SIZE, "%d\n", gadget->name); \
1569 ret = add_uevent_var(env, "USB_UDC_NAME=%s", udc->gadget->name); in usb_udc_uevent()