Lines Matching full:gadget
3 * USB Raw Gadget driver.
4 * See Documentation/usb/raw-gadget.rst for more details.
26 #include <linux/usb/gadget.h>
30 #define DRIVER_DESC "USB Raw Gadget"
31 #define DRIVER_NAME "raw-gadget"
173 struct usb_gadget *gadget; member
214 usb_ep_dequeue(dev->gadget->ep0, dev->req); in dev_free()
215 usb_ep_free_request(dev->gadget->ep0, dev->req); in dev_free()
278 static int gadget_bind(struct usb_gadget *gadget, in gadget_bind() argument
287 if (strcmp(gadget->name, dev->udc_name) != 0) in gadget_bind()
290 set_gadget_data(gadget, dev); in gadget_bind()
291 req = usb_ep_alloc_request(gadget->ep0, GFP_KERNEL); in gadget_bind()
293 dev_err(&gadget->dev, "usb_ep_alloc_request failed\n"); in gadget_bind()
294 set_gadget_data(gadget, NULL); in gadget_bind()
302 dev->gadget = gadget; in gadget_bind()
303 gadget_for_each_ep(ep, dev->gadget) { in gadget_bind()
314 dev_err(&gadget->dev, "failed to queue event\n"); in gadget_bind()
315 set_gadget_data(gadget, NULL); in gadget_bind()
324 static void gadget_unbind(struct usb_gadget *gadget) in gadget_unbind() argument
326 struct raw_dev *dev = get_gadget_data(gadget); in gadget_unbind()
328 set_gadget_data(gadget, NULL); in gadget_unbind()
333 static int gadget_setup(struct usb_gadget *gadget, in gadget_setup() argument
337 struct raw_dev *dev = get_gadget_data(gadget); in gadget_setup()
342 dev_err(&gadget->dev, "ignoring, device is not running\n"); in gadget_setup()
347 dev_dbg(&gadget->dev, "stalling, request already pending\n"); in gadget_setup()
359 dev_err(&gadget->dev, "failed to queue event\n"); in gadget_setup()
369 static void gadget_disconnect(struct usb_gadget *gadget) { } in gadget_disconnect() argument
370 static void gadget_suspend(struct usb_gadget *gadget) { } in gadget_suspend() argument
371 static void gadget_resume(struct usb_gadget *gadget) { } in gadget_resume() argument
372 static void gadget_reset(struct usb_gadget *gadget) { } in gadget_reset() argument
404 if (!dev->gadget) { in raw_release()
582 if (!dev->gadget) { in raw_ioctl_event_fetch()
583 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_event_fetch()
591 dev_dbg(&dev->gadget->dev, "event fetching interrupted\n"); in raw_ioctl_event_fetch()
595 dev_err(&dev->gadget->dev, "failed to fetch event\n"); in raw_ioctl_event_fetch()
646 if (!dev->gadget) { in raw_process_ep0_io()
647 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_process_ep0_io()
652 dev_dbg(&dev->gadget->dev, "fail, urb already queued\n"); in raw_process_ep0_io()
658 dev_dbg(&dev->gadget->dev, "fail, wrong direction\n"); in raw_process_ep0_io()
679 ret = usb_ep_queue(dev->gadget->ep0, dev->req, GFP_KERNEL); in raw_process_ep0_io()
681 dev_err(&dev->gadget->dev, in raw_process_ep0_io()
690 dev_dbg(&dev->gadget->dev, "wait interrupted\n"); in raw_process_ep0_io()
691 usb_ep_dequeue(dev->gadget->ep0, dev->req); in raw_process_ep0_io()
761 if (!dev->gadget) { in raw_ioctl_ep0_stall()
762 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_ep0_stall()
767 dev_dbg(&dev->gadget->dev, "fail, urb already queued\n"); in raw_ioctl_ep0_stall()
772 dev_dbg(&dev->gadget->dev, "fail, no request pending\n"); in raw_ioctl_ep0_stall()
777 ret = usb_ep_set_halt(dev->gadget->ep0); in raw_ioctl_ep0_stall()
779 dev_err(&dev->gadget->dev, in raw_ioctl_ep0_stall()
819 if (!dev->gadget) { in raw_ioctl_ep_enable()
820 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_ep_enable()
832 if (!usb_gadget_ep_match_desc(dev->gadget, ep->ep, desc, NULL)) in raw_ioctl_ep_enable()
837 dev_err(&dev->gadget->dev, in raw_ioctl_ep_enable()
843 dev_err(&dev->gadget->dev, in raw_ioctl_ep_enable()
855 dev_dbg(&dev->gadget->dev, "fail, no gadget endpoints available\n"); in raw_ioctl_ep_enable()
876 if (!dev->gadget) { in raw_ioctl_ep_disable()
877 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_ep_disable()
887 dev_dbg(&dev->gadget->dev, "fail, endpoint is not enabled\n"); in raw_ioctl_ep_disable()
892 dev_dbg(&dev->gadget->dev, in raw_ioctl_ep_disable()
898 dev_dbg(&dev->gadget->dev, in raw_ioctl_ep_disable()
931 if (!dev->gadget) { in raw_ioctl_ep_set_clear_halt_wedge()
932 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_ep_set_clear_halt_wedge()
942 dev_dbg(&dev->gadget->dev, "fail, endpoint is not enabled\n"); in raw_ioctl_ep_set_clear_halt_wedge()
947 dev_dbg(&dev->gadget->dev, in raw_ioctl_ep_set_clear_halt_wedge()
953 dev_dbg(&dev->gadget->dev, in raw_ioctl_ep_set_clear_halt_wedge()
959 dev_dbg(&dev->gadget->dev, in raw_ioctl_ep_set_clear_halt_wedge()
968 dev_err(&dev->gadget->dev, in raw_ioctl_ep_set_clear_halt_wedge()
973 dev_err(&dev->gadget->dev, in raw_ioctl_ep_set_clear_halt_wedge()
978 dev_err(&dev->gadget->dev, in raw_ioctl_ep_set_clear_halt_wedge()
1017 if (!dev->gadget) { in raw_process_ep_io()
1018 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_process_ep_io()
1023 dev_dbg(&dev->gadget->dev, "fail, invalid endpoint\n"); in raw_process_ep_io()
1029 dev_dbg(&dev->gadget->dev, "fail, endpoint is not enabled\n"); in raw_process_ep_io()
1034 dev_dbg(&dev->gadget->dev, in raw_process_ep_io()
1040 dev_dbg(&dev->gadget->dev, "fail, urb already queued\n"); in raw_process_ep_io()
1045 dev_dbg(&dev->gadget->dev, "fail, wrong direction\n"); in raw_process_ep_io()
1061 dev_err(&dev->gadget->dev, in raw_process_ep_io()
1070 dev_dbg(&dev->gadget->dev, "wait interrupted\n"); in raw_process_ep_io()
1141 if (!dev->gadget) { in raw_ioctl_configure()
1142 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_configure()
1146 usb_gadget_set_state(dev->gadget, USB_STATE_CONFIGURED); in raw_ioctl_configure()
1164 if (!dev->gadget) { in raw_ioctl_vbus_draw()
1165 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_vbus_draw()
1169 usb_gadget_vbus_draw(dev->gadget, 2 * value); in raw_ioctl_vbus_draw()
1213 if (!dev->gadget) { in raw_ioctl_eps_info()
1214 dev_dbg(dev->dev, "fail, gadget is not bound\n"); in raw_ioctl_eps_info()