Lines Matching full:ep
51 urb_p->ep = NULL; in alloc_urbp()
73 static void nuke(struct vudc *udc, struct vep *ep) in nuke() argument
77 while (!list_empty(&ep->req_queue)) { in nuke()
78 req = list_first_entry(&ep->req_queue, struct vrequest, in nuke()
84 usb_gadget_giveback_request(&ep->ep, &req->req); in nuke()
98 nuke(udc, &udc->ep[i]); in stop_activity()
111 return &udc->ep[0]; in vudc_find_endpoint()
114 struct vep *ep = &udc->ep[i]; in vudc_find_endpoint() local
116 if (!ep->desc) in vudc_find_endpoint()
118 if (ep->desc->bEndpointAddress == address) in vudc_find_endpoint()
119 return ep; in vudc_find_endpoint()
164 udc->ep[0].ep.maxpacket = 64; in vgadget_pullup()
232 struct vep *ep; in vep_enable() local
237 ep = to_vep(_ep); in vep_enable()
238 udc = ep_to_vudc(ep); in vep_enable()
240 if (!_ep || !desc || ep->desc || _ep->caps.type_control in vep_enable()
251 ep->desc = desc; in vep_enable()
252 ep->type = usb_endpoint_type(desc); in vep_enable()
253 ep->halted = ep->wedged = 0; in vep_enable()
262 struct vep *ep; in vep_disable() local
266 ep = to_vep(_ep); in vep_disable()
267 udc = ep_to_vudc(ep); in vep_disable()
268 if (!_ep || !ep->desc || _ep->caps.type_control) in vep_disable()
272 ep->desc = NULL; in vep_disable()
273 nuke(udc, ep); in vep_disable()
300 /* ep is always valid here - see usb_ep_free_request() */ in vep_free_request()
311 struct vep *ep; in vep_queue() local
319 ep = to_vep(_ep); in vep_queue()
321 udc = ep_to_vudc(ep); in vep_queue()
327 list_add_tail(&req->req_entry, &ep->req_queue); in vep_queue()
335 struct vep *ep; in vep_dequeue() local
345 ep = to_vep(_ep); in vep_dequeue()
353 list_for_each_entry(lst, &ep->req_queue, req_entry) { in vep_dequeue()
372 struct vep *ep; in vep_set_halt_and_wedge() local
377 ep = to_vep(_ep); in vep_set_halt_and_wedge()
381 udc = ep_to_vudc(ep); in vep_set_halt_and_wedge()
387 ep->halted = ep->wedged = 0; in vep_set_halt_and_wedge()
388 else if (ep->desc && (ep->desc->bEndpointAddress & USB_DIR_IN) && in vep_set_halt_and_wedge()
389 !list_empty(&ep->req_queue)) in vep_set_halt_and_wedge()
392 ep->halted = 1; in vep_set_halt_and_wedge()
394 ep->wedged = 1; in vep_set_halt_and_wedge()
519 struct vep *ep; in init_vudc_hw() local
521 udc->ep = kcalloc(VIRTUAL_ENDPOINTS, sizeof(*udc->ep), GFP_KERNEL); in init_vudc_hw()
522 if (!udc->ep) in init_vudc_hw()
532 ep = &udc->ep[i]; in init_vudc_hw()
534 sprintf(ep->name, "ep%d%s", num, in init_vudc_hw()
536 ep->ep.name = ep->name; in init_vudc_hw()
538 ep->ep.ops = &vep_ops; in init_vudc_hw()
540 usb_ep_set_maxpacket_limit(&ep->ep, ~0); in init_vudc_hw()
541 ep->ep.max_streams = 16; in init_vudc_hw()
542 ep->gadget = &udc->gadget; in init_vudc_hw()
543 INIT_LIST_HEAD(&ep->req_queue); in init_vudc_hw()
547 ep->ep.caps.type_control = true; in init_vudc_hw()
548 ep->ep.caps.dir_out = true; in init_vudc_hw()
549 ep->ep.caps.dir_in = true; in init_vudc_hw()
551 udc->gadget.ep0 = &ep->ep; in init_vudc_hw()
554 ep->ep.caps.type_iso = true; in init_vudc_hw()
555 ep->ep.caps.type_int = true; in init_vudc_hw()
556 ep->ep.caps.type_bulk = true; in init_vudc_hw()
559 ep->ep.caps.dir_out = true; in init_vudc_hw()
561 ep->ep.caps.dir_in = true; in init_vudc_hw()
563 list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list); in init_vudc_hw()
591 kfree(udc->ep); in cleanup_vudc_hw()