Lines Matching full:udc
22 /* called with udc->lock held */
23 int get_gadget_descs(struct vudc *udc) in get_gadget_descs() argument
26 struct vep *ep0 = to_vep(udc->gadget.ep0); in get_gadget_descs()
27 struct usb_device_descriptor *ddesc = &udc->dev_desc; in get_gadget_descs()
31 if (!udc->driver || !udc->pullup) in get_gadget_descs()
40 spin_unlock(&udc->lock); in get_gadget_descs()
41 ret = udc->driver->setup(&(udc->gadget), &req); in get_gadget_descs()
42 spin_lock(&udc->lock); in get_gadget_descs()
56 udc->desc_cached = 1; in get_gadget_descs()
74 struct vudc *udc = (struct vudc *)dev_get_drvdata(dev); in dev_desc_read() local
75 char *desc_ptr = (char *) &udc->dev_desc; in dev_desc_read()
79 spin_lock_irqsave(&udc->lock, flags); in dev_desc_read()
80 if (!udc->desc_cached) { in dev_desc_read()
88 spin_unlock_irqrestore(&udc->lock, flags); in dev_desc_read()
96 struct vudc *udc = (struct vudc *) dev_get_drvdata(dev); in usbip_sockfd_store() local
108 if (!udc) { in usbip_sockfd_store()
112 spin_lock_irqsave(&udc->lock, flags); in usbip_sockfd_store()
114 if (!udc->driver || !udc->pullup) { in usbip_sockfd_store()
121 if (udc->connected) { in usbip_sockfd_store()
127 spin_lock_irq(&udc->ud.lock); in usbip_sockfd_store()
129 if (udc->ud.status != SDEV_ST_AVAILABLE) { in usbip_sockfd_store()
141 udc->ud.tcp_socket = socket; in usbip_sockfd_store()
143 spin_unlock_irq(&udc->ud.lock); in usbip_sockfd_store()
144 spin_unlock_irqrestore(&udc->lock, flags); in usbip_sockfd_store()
146 udc->ud.tcp_rx = kthread_get_run(&v_rx_loop, in usbip_sockfd_store()
147 &udc->ud, "vudc_rx"); in usbip_sockfd_store()
148 udc->ud.tcp_tx = kthread_get_run(&v_tx_loop, in usbip_sockfd_store()
149 &udc->ud, "vudc_tx"); in usbip_sockfd_store()
151 spin_lock_irqsave(&udc->lock, flags); in usbip_sockfd_store()
152 spin_lock_irq(&udc->ud.lock); in usbip_sockfd_store()
153 udc->ud.status = SDEV_ST_USED; in usbip_sockfd_store()
154 spin_unlock_irq(&udc->ud.lock); in usbip_sockfd_store()
156 ktime_get_ts64(&udc->start_time); in usbip_sockfd_store()
157 v_start_timer(udc); in usbip_sockfd_store()
158 udc->connected = 1; in usbip_sockfd_store()
160 if (!udc->connected) { in usbip_sockfd_store()
166 spin_lock_irq(&udc->ud.lock); in usbip_sockfd_store()
167 if (udc->ud.status != SDEV_ST_USED) { in usbip_sockfd_store()
171 spin_unlock_irq(&udc->ud.lock); in usbip_sockfd_store()
173 usbip_event_add(&udc->ud, VUDC_EVENT_DOWN); in usbip_sockfd_store()
176 spin_unlock_irqrestore(&udc->lock, flags); in usbip_sockfd_store()
181 spin_unlock_irq(&udc->ud.lock); in usbip_sockfd_store()
183 spin_unlock_irqrestore(&udc->lock, flags); in usbip_sockfd_store()
192 struct vudc *udc = (struct vudc *) dev_get_drvdata(dev); in usbip_status_show() local
195 if (!udc) { in usbip_status_show()
199 spin_lock_irq(&udc->ud.lock); in usbip_status_show()
200 status = udc->ud.status; in usbip_status_show()
201 spin_unlock_irq(&udc->ud.lock); in usbip_status_show()