Home
last modified time | relevance | path

Searched refs:gadget (Results 1 – 200 of 230) sorted by relevance

12

/linux-4.4.14/include/linux/usb/
Dgadget.h652 static inline void set_gadget_data(struct usb_gadget *gadget, void *data) in set_gadget_data() argument
653 { dev_set_drvdata(&gadget->dev, data); } in set_gadget_data()
654 static inline void *get_gadget_data(struct usb_gadget *gadget) in get_gadget_data() argument
655 { return dev_get_drvdata(&gadget->dev); } in get_gadget_data()
662 #define gadget_for_each_ep(tmp, gadget) \ argument
663 list_for_each_entry(tmp, &(gadget)->ep_list, ep_list)
751 static inline int usb_gadget_frame_number(struct usb_gadget *gadget) in usb_gadget_frame_number() argument
753 return gadget->ops->get_frame(gadget); in usb_gadget_frame_number()
769 static inline int usb_gadget_wakeup(struct usb_gadget *gadget) in usb_gadget_wakeup() argument
771 if (!gadget->ops->wakeup) in usb_gadget_wakeup()
[all …]
Dcomposite.h464 struct usb_gadget *gadget; member
511 extern void composite_disconnect(struct usb_gadget *gadget);
512 extern int composite_setup(struct usb_gadget *gadget,
514 extern void composite_suspend(struct usb_gadget *gadget);
515 extern void composite_resume(struct usb_gadget *gadget);
619 dev_dbg(&(d)->gadget->dev , fmt , ## args)
621 dev_vdbg(&(d)->gadget->dev , fmt , ## args)
623 dev_err(&(d)->gadget->dev , fmt , ## args)
625 dev_warn(&(d)->gadget->dev , fmt , ## args)
627 dev_info(&(d)->gadget->dev , fmt , ## args)
Dotg.h22 struct usb_gadget *gadget; member
31 struct usb_gadget *gadget);
/linux-4.4.14/drivers/usb/gadget/udc/
Dudc-core.c46 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()
[all …]
Dat91_udc.c199 udc->gadget.is_selfpowered ? "self" : "VBUS", in proc_udc_show()
233 list_for_each_entry (ep, &udc->gadget.ep_list, ep.ep_list) { in proc_udc_show()
506 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in at91_ep_enable()
645 if (!udc || !udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in at91_ep_queue()
805 static int at91_get_frame(struct usb_gadget *gadget) in at91_get_frame() argument
807 struct at91_udc *udc = to_udc(gadget); in at91_get_frame()
809 if (!to_udc(gadget)->clocked) in at91_get_frame()
814 static int at91_wakeup(struct usb_gadget *gadget) in at91_wakeup() argument
816 struct at91_udc *udc = to_udc(gadget); in at91_wakeup()
845 INIT_LIST_HEAD(&udc->gadget.ep_list); in udc_reinit()
[all …]
Ds3c-hsudc.c144 struct usb_gadget gadget; member
176 static inline struct s3c_hsudc *to_hsudc(struct usb_gadget *gadget) in to_hsudc() argument
178 return container_of(gadget, struct s3c_hsudc, gadget); in to_hsudc()
294 hsudc->gadget.speed = USB_SPEED_UNKNOWN; in s3c_hsudc_stop_activity()
669 ret = hsudc->driver->setup(&hsudc->gadget, &ctrl); in s3c_hsudc_process_setup()
772 if (!hsudc->driver || hsudc->gadget.speed == USB_SPEED_UNKNOWN) in s3c_hsudc_ep_enable()
883 if (!hsudc->driver || hsudc->gadget.speed == USB_SPEED_UNKNOWN) in s3c_hsudc_queue()
997 list_add_tail(&hsep->ep.ep_list, &hsudc->gadget.ep_list); in s3c_hsudc_initep()
1038 INIT_LIST_HEAD(&hsudc->gadget.ep_list); in s3c_hsudc_setup_ep()
1096 hsudc->gadget.speed = (sys_status & S3C_SSR_HSP) ? in s3c_hsudc_irq()
[all …]
Dbcm63xx_udc.c307 struct usb_gadget gadget; member
350 return container_of(g, struct bcm63xx_udc, gadget); in gadget_to_udc()
472 int is_hs = udc->gadget.speed == USB_SPEED_HIGH; in bcm63xx_fifo_setup()
569 int max_pkt = udc->gadget.speed == USB_SPEED_HIGH ? in bcm63xx_ep_setup()
962 INIT_LIST_HEAD(&udc->gadget.ep_list); in bcm63xx_init_udc_hw()
970 list_add_tail(&bep->ep.ep_list, &udc->gadget.ep_list); in bcm63xx_init_udc_hw()
978 udc->gadget.ep0 = &udc->bep[0].ep; in bcm63xx_init_udc_hw()
981 udc->gadget.speed = USB_SPEED_UNKNOWN; in bcm63xx_init_udc_hw()
1007 if (udc->gadget.max_speed == USB_SPEED_HIGH) in bcm63xx_init_udc_hw()
1106 usb_gadget_unmap_request(&udc->gadget, &breq->req, in bcm63xx_ep_disable()
[all …]
Dfsl_udc_core.c190 usb_gadget_unmap_request(&ep->udc->gadget, &req->req, ep_is_in(ep)); in done()
390 if (udc->gadget.is_otg) { in dr_controller_stop()
565 if (!udc->driver || (udc->gadget.speed == USB_SPEED_UNKNOWN)) in fsl_ep_enable()
896 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) in fsl_ep_queue()
901 ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep)); in fsl_ep_queue()
1065 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) in fsl_ep_fifo_status()
1144 static int fsl_get_frame(struct usb_gadget *gadget) in fsl_get_frame() argument
1152 static int fsl_wakeup(struct usb_gadget *gadget) in fsl_wakeup() argument
1154 struct fsl_udc *udc = container_of(gadget, struct fsl_udc, gadget); in fsl_wakeup()
1178 static int fsl_vbus_session(struct usb_gadget *gadget, int is_active) in fsl_vbus_session() argument
[all …]
Dmv_udc_core.c241 usb_gadget_unmap_request(&udc->gadget, &req->req, ep_dir(ep)); in done()
462 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) in mv_ep_enable()
715 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) in mv_ep_queue()
721 retval = usb_gadget_map_request(&udc->gadget, _req, ep_dir(ep)); in mv_ep_queue()
757 usb_gadget_unmap_request(&udc->gadget, _req, ep_dir(ep)); in mv_ep_queue()
1120 static int mv_udc_get_frame(struct usb_gadget *gadget) in mv_udc_get_frame() argument
1125 if (!gadget) in mv_udc_get_frame()
1128 udc = container_of(gadget, struct mv_udc, gadget); in mv_udc_get_frame()
1136 static int mv_udc_wakeup(struct usb_gadget *gadget) in mv_udc_wakeup() argument
1138 struct mv_udc *udc = container_of(gadget, struct mv_udc, gadget); in mv_udc_wakeup()
[all …]
Ddummy_hcd.c86 struct usb_gadget *gadget; member
256 struct usb_gadget gadget; member
288 return dum->gadget.dev.parent; in udc_dev()
293 return container_of(ep->gadget, struct dummy, gadget); in ep_to_dummy()
296 static inline struct dummy_hcd *gadget_to_dummy_hcd(struct usb_gadget *gadget) in gadget_to_dummy_hcd() argument
298 struct dummy *dum = container_of(gadget, struct dummy, gadget); in gadget_to_dummy_hcd()
299 if (dum->gadget.speed == USB_SPEED_SUPER) in gadget_to_dummy_hcd()
307 return container_of(dev, struct dummy, gadget.dev); in gadget_dev_to_dummy()
341 list_for_each_entry(ep, &dum->gadget.ep_list, ep.ep_list) in stop_activity()
423 dum->gadget.speed != USB_SPEED_SUPER) || in set_link_state()
[all …]
Dgr_udc.c195 usb_state_string(dev->gadget.state)); in gr_seq_show()
318 usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in); in gr_finish_request()
614 if (unlikely(!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN)) { in gr_queue()
626 ret = usb_gadget_map_request(&dev->gadget, &req->req, ep->is_in); in gr_queue()
805 usb_gadget_set_state(&dev->gadget, USB_STATE_NOTATTACHED); in gr_stop_activity()
918 usb_gadget_set_state(&dev->gadget, USB_STATE_ADDRESS); in gr_device_request()
920 usb_gadget_set_state(&dev->gadget, USB_STATE_DEFAULT); in gr_device_request()
968 if (dev->gadget.state != USB_STATE_CONFIGURED) in gr_interface_request()
1011 if (dev->gadget.state != USB_STATE_CONFIGURED && epnum != 0) in gr_endpoint_request()
1149 status = dev->driver->setup(&dev->gadget, &u.ctrl); in gr_ep0_setup()
[all …]
Dfsl_qe_udc.c98 dma_unmap_single(udc->gadget.dev.parent, in done()
106 dma_sync_single_for_cpu(udc->gadget.dev.parent, in done()
447 ep->rxbuf_d = dma_map_single(ep->udc->gadget.dev.parent, in qe_ep_rxbd_update()
453 dma_sync_single_for_device(ep->udc->gadget.dev.parent, in qe_ep_rxbd_update()
548 switch (udc->gadget.speed) { in qe_ep_init()
569 switch (udc->gadget.speed) { in qe_ep_init()
586 switch (udc->gadget.speed) { in qe_ep_init()
601 switch (udc->gadget.speed) { in qe_ep_init()
1601 if (!udc->driver || (udc->gadget.speed == USB_SPEED_UNKNOWN)) in qe_ep_enable()
1652 dma_unmap_single(udc->gadget.dev.parent, in qe_ep_disable()
[all …]
Domap_udc.c195 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in omap_ep_enable()
305 usb_gadget_unmap_request(&udc->gadget, &req->req, in done()
904 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) in omap_ep_queue()
908 usb_gadget_map_request(&udc->gadget, &req->req, in omap_ep_queue()
1132 static int omap_get_frame(struct usb_gadget *gadget) in omap_get_frame() argument
1138 static int omap_wakeup(struct usb_gadget *gadget) in omap_wakeup() argument
1144 udc = container_of(gadget, struct omap_udc, gadget); in omap_wakeup()
1168 omap_set_selfpowered(struct usb_gadget *gadget, int is_selfpowered) in omap_set_selfpowered() argument
1174 gadget->is_selfpowered = (is_selfpowered != 0); in omap_set_selfpowered()
1175 udc = container_of(gadget, struct omap_udc, gadget); in omap_set_selfpowered()
[all …]
Datmel_usba_udc.c262 root = debugfs_create_dir(udc->gadget.name, NULL); in usba_init_debugfs()
279 usba_ep_init_debugfs(udc, to_usba_ep(udc->gadget.ep0)); in usba_init_debugfs()
292 usba_ep_cleanup_debugfs(to_usba_ep(udc->gadget.ep0)); in usba_cleanup_debugfs()
500 usb_gadget_unmap_request(&udc->gadget, &req->req, ep->is_in); in request_complete()
650 if (udc->gadget.speed != USB_SPEED_UNKNOWN) in usba_ep_disable()
718 ret = usb_gadget_map_request(&udc->gadget, &req->req, ep->is_in); in queue_dma()
761 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN || in usba_ep_queue()
963 static int usba_udc_get_frame(struct usb_gadget *gadget) in usba_udc_get_frame() argument
965 struct usba_udc *udc = to_usba_udc(gadget); in usba_udc_get_frame()
970 static int usba_udc_wakeup(struct usb_gadget *gadget) in usba_udc_wakeup() argument
[all …]
Dpch_udc.c352 struct usb_gadget gadget; member
379 #define to_pch_udc(g) (container_of((g), struct pch_udc_dev, gadget))
624 dev->driver->disconnect(&dev->gadget); in pch_udc_vbus_session()
1116 static int pch_udc_pcd_get_frame(struct usb_gadget *gadget) in pch_udc_pcd_get_frame() argument
1120 if (!gadget) in pch_udc_pcd_get_frame()
1122 dev = container_of(gadget, struct pch_udc_dev, gadget); in pch_udc_pcd_get_frame()
1134 static int pch_udc_pcd_wakeup(struct usb_gadget *gadget) in pch_udc_pcd_wakeup() argument
1139 if (!gadget) in pch_udc_pcd_wakeup()
1141 dev = container_of(gadget, struct pch_udc_dev, gadget); in pch_udc_pcd_wakeup()
1158 static int pch_udc_pcd_selfpowered(struct usb_gadget *gadget, int value) in pch_udc_pcd_selfpowered() argument
[all …]
Dudc-xilinx.c110 #define to_udc(g) container_of((g), struct xusb_udc, gadget)
183 struct usb_gadget gadget; member
567 usb_gadget_unmap_request(&udc->gadget, &req->usb_req, in xudc_done()
909 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in xudc_ep_enable()
1011 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in __xudc_ep0_queue()
1095 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in xudc_ep_queue()
1106 ret = usb_gadget_map_request(&udc->gadget, &req->usb_req, in xudc_ep_queue()
1219 static int xudc_get_frame(struct usb_gadget *gadget) in xudc_get_frame() argument
1224 if (!gadget) in xudc_get_frame()
1227 udc = to_udc(gadget); in xudc_get_frame()
[all …]
Ds3c2410_udc.c712 ret = dev->driver->setup(&dev->gadget, crq); in s3c2410_udc_handle_ep0_idle()
914 dev->gadget.speed = USB_SPEED_UNKNOWN; in s3c2410_udc_irq()
921 dev->gadget.speed = USB_SPEED_FULL; in s3c2410_udc_irq()
940 if (dev->gadget.speed != USB_SPEED_UNKNOWN in s3c2410_udc_irq()
943 dev->driver->resume(&dev->gadget); in s3c2410_udc_irq()
954 if (dev->gadget.speed != USB_SPEED_UNKNOWN in s3c2410_udc_irq()
957 dev->driver->suspend(&dev->gadget); in s3c2410_udc_irq()
1016 static inline struct s3c2410_udc *to_s3c2410_udc(struct usb_gadget *gadget) in to_s3c2410_udc() argument
1018 return container_of(gadget, struct s3c2410_udc, gadget); in to_s3c2410_udc()
1047 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) in s3c2410_udc_ep_enable()
[all …]
Ds3c2410_udc.h20 struct usb_gadget *gadget; member
81 struct usb_gadget gadget; member
98 #define to_s3c2410(g) (container_of((g), struct s3c2410_udc, gadget))
Dpxa25x_udc.c245 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) { in pxa25x_ep_enable()
651 || dev->gadget.speed == USB_SPEED_UNKNOWN)) { in pxa25x_ep_queue()
852 if (ep->dev->gadget.speed == USB_SPEED_UNKNOWN in pxa25x_ep_fifo_status()
940 if (udc->gadget.speed != USB_SPEED_UNKNOWN) { in pullup()
961 udc = container_of(_gadget, struct pxa25x_udc, gadget); in pxa25x_udc_vbus_session()
973 udc = container_of(_gadget, struct pxa25x_udc, gadget); in pxa25x_udc_pullup()
992 udc = container_of(_gadget, struct pxa25x_udc, gadget); in pxa25x_udc_vbus_draw()
1032 dev->gadget.speed == USB_SPEED_FULL ? "full speed" : "disconnected"); in udc_seq_show()
1071 if (dev->gadget.speed != USB_SPEED_FULL || !dev->driver) in udc_seq_show()
1134 dev->debugfs_udc = debugfs_create_file(dev->gadget.name, \
[all …]
DKconfig4 # (b) the gadget driver using it.
24 # - debug/dummy gadget+hcd is last.
43 gadget drivers to also be dynamically linked.
54 gadget drivers to also be dynamically linked.
87 all gadget drivers to also be dynamically linked.
126 gadget drivers to also be dynamically linked.
141 gadget drivers to also be dynamically linked.
143 # if there's only one gadget driver, using only two bulk endpoints,
163 gadget drivers to also be dynamically linked.
175 gadget drivers to also be dynamically linked.
[all …]
Dnet2272.c202 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) in net2272_enable()
224 if ((dev->gadget.speed == USB_SPEED_HIGH && max != 512) || in net2272_enable()
225 (dev->gadget.speed == USB_SPEED_FULL && max > 64)) { in net2272_enable()
386 usb_gadget_unmap_request(&dev->gadget, &req->req, in net2272_done()
843 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) in net2272_queue()
848 status = usb_gadget_map_request(&dev->gadget, _req, in net2272_queue()
993 if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN) in net2272_set_halt_and_wedge()
1048 if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN) in net2272_fifo_status()
1068 if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN) in net2272_fifo_flush()
1101 dev = container_of(_gadget, struct net2272, gadget); in net2272_get_frame()
[all …]
Dnet2280.c203 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) { in net2280_enable()
265 dev->gadget.speed == USB_SPEED_HIGH && in net2280_enable()
271 if ((dev->gadget.speed == USB_SPEED_SUPER && max != 1024) || in net2280_enable()
272 (dev->gadget.speed == USB_SPEED_HIGH && max != 512) || in net2280_enable()
273 (dev->gadget.speed == USB_SPEED_FULL && max > 64)) { in net2280_enable()
696 ep->dev->gadget.speed == USB_SPEED_FULL) { in out_flush()
724 ep->dev->gadget.speed == USB_SPEED_FULL) { in read_fifo()
975 usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in); in done()
1020 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) { in net2280_queue()
1033 ret = usb_gadget_map_request(&dev->gadget, _req, in net2280_queue()
[all …]
Dmv_u3d_core.c208 dma_unmap_single(ep->u3d->gadget.dev.parent, in mv_u3d_done()
216 usb_gadget_unmap_request(&u3d->gadget, &req->req, mv_u3d_ep_dir(ep)); in mv_u3d_done()
470 req->trb_head->trb_dma = dma_map_single(u3d->gadget.dev.parent, in mv_u3d_req_to_trb()
496 ret = usb_gadget_map_request(&u3d->gadget, &req->req, in mv_u3d_start_queue()
541 if (!u3d->driver || u3d->gadget.speed == USB_SPEED_UNKNOWN) in mv_u3d_ep_enable()
831 if (!u3d->driver || u3d->gadget.speed == USB_SPEED_UNKNOWN) { in mv_u3d_ep_queue()
1144 static int mv_u3d_vbus_session(struct usb_gadget *gadget, int is_active) in mv_u3d_vbus_session() argument
1150 u3d = container_of(gadget, struct mv_u3d, gadget); in mv_u3d_vbus_session()
1195 static int mv_u3d_vbus_draw(struct usb_gadget *gadget, unsigned mA) in mv_u3d_vbus_draw() argument
1197 struct mv_u3d *u3d = container_of(gadget, struct mv_u3d, gadget); in mv_u3d_vbus_draw()
[all …]
Dgr_udc.h192 struct usb_gadget gadget; member
227 #define to_gr_udc(gadget) (container_of((gadget), struct gr_udc, gadget)) argument
Dlpc32xx_udc.c149 struct usb_gadget gadget; member
212 return container_of(g, struct lpc32xx_udc, gadget); in to_udc()
549 udc->gadget.is_selfpowered ? "self" : "VBUS", in proc_udc_show()
555 list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) in proc_udc_show()
1398 udc->gadget.speed = USB_SPEED_FULL; in uda_usb_reset()
1441 INIT_LIST_HEAD(&udc->gadget.ep_list); in udc_reinit()
1442 INIT_LIST_HEAD(&udc->gadget.ep0->ep_list); in udc_reinit()
1448 list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list); in udc_reinit()
1469 usb_gadget_unmap_request(&udc->gadget, &req->req, ep->is_in); in done()
1587 if (udc->gadget.speed == USB_SPEED_UNKNOWN) in stop_activity()
[all …]
Dr8a66597-udc.c93 r8a66597->gadget.speed = USB_SPEED_UNKNOWN; in r8a66597_usb_disconnect()
95 r8a66597->driver->disconnect(&r8a66597->gadget); in r8a66597_usb_disconnect()
666 return usb_gadget_map_request(&r8a66597->gadget, &req->req, dma->dir); in sudmac_alloc_channel()
676 usb_gadget_unmap_request(&r8a66597->gadget, &req->req, ep->dma->dir); in sudmac_free_channel()
916 if (ep->r8a66597->gadget.speed == USB_SPEED_UNKNOWN) in transfer_complete()
1196 r8a66597_queue(r8a66597->gadget.ep0, r8a66597->ep0_req, GFP_KERNEL); in get_status()
1327 r8a66597->gadget.speed = USB_SPEED_HIGH; in r8a66597_update_usb_speed()
1330 r8a66597->gadget.speed = USB_SPEED_FULL; in r8a66597_update_usb_speed()
1333 r8a66597->gadget.speed = USB_SPEED_UNKNOWN; in r8a66597_update_usb_speed()
1348 usb_gadget_udc_reset(&r8a66597->gadget, r8a66597->driver); in irq_device_state()
[all …]
Damd5536udc.c390 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) in udc_ep_enable()
1028 usb_gadget_unmap_request(&dev->gadget, &req->req, ep->in); in complete_req()
1128 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) in udc_queue()
1134 retval = usb_gadget_map_request(&udc->gadget, usbreq, ep->in); in udc_queue()
1375 if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN) in udc_set_halt()
1439 static int udc_get_frame(struct usb_gadget *gadget) in udc_get_frame() argument
1465 static int udc_wakeup(struct usb_gadget *gadget) in udc_wakeup() argument
1469 if (!gadget) in udc_wakeup()
1471 dev = container_of(gadget, struct udc, gadget); in udc_wakeup()
1492 INIT_LIST_HEAD(&dev->gadget.ep_list); in make_ep_lists()
[all …]
Dfotg210-udc.c67 if (ep->fotg210->gadget.speed == USB_SPEED_UNKNOWN) in fotg210_done()
410 if (ep->fotg210->gadget.speed == USB_SPEED_UNKNOWN) in fotg210_ep_queue()
747 fotg210_ep_queue(fotg210->gadget.ep0, fotg210->ep0_req, GFP_KERNEL); in fotg210_get_status()
761 if (fotg210->gadget.speed == USB_SPEED_UNKNOWN) { in fotg210_setup_packet()
763 fotg210->gadget.speed = value & DMCR_HS_EN ? in fotg210_setup_packet()
954 if (fotg210->driver->setup(&fotg210->gadget, in fotg210_irq()
1070 usb_del_gadget_udc(&fotg210->gadget); in fotg210_udc_remove()
1124 fotg210->gadget.ops = &fotg210_gadget_ops; in fotg210_udc_probe()
1126 fotg210->gadget.max_speed = USB_SPEED_HIGH; in fotg210_udc_probe()
1127 fotg210->gadget.dev.parent = &pdev->dev; in fotg210_udc_probe()
[all …]
Dpxa27x_udc.c249 root = debugfs_create_dir(udc->gadget.name, NULL); in pxa_init_debugfs()
1146 if (unlikely(!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN)) { in pxa_ep_queue()
1335 if (ep->dev->gadget.speed == USB_SPEED_UNKNOWN || ep_is_empty(ep)) in pxa_ep_fifo_status()
1430 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in pxa_ep_enable()
1691 udc->gadget.speed = USB_SPEED_UNKNOWN; in udc_disable()
1710 INIT_LIST_HEAD(&dev->gadget.ep_list); in udc_init_data()
1711 INIT_LIST_HEAD(&dev->gadget.ep0->ep_list); in udc_init_data()
1713 dev->gadget.quirk_altset_not_supp = 1; in udc_init_data()
1728 &dev->gadget.ep_list); in udc_init_data()
1752 udc->gadget.speed = USB_SPEED_FULL; in udc_enable()
[all …]
Dfusb300_udc.c433 if (ep->fusb300->gadget.speed == USB_SPEED_UNKNOWN) in fusb300_queue()
722 fusb300_queue(fusb300->gadget.ep0, fusb300->ep0_req, GFP_KERNEL); in get_status()
873 if (ep->fusb300->gadget.speed == USB_SPEED_UNKNOWN) in done()
946 ret = usb_gadget_map_request(&ep->fusb300->gadget, in fusb300_set_idma()
958 usb_gadget_unmap_request(&ep->fusb300->gadget, in fusb300_set_idma()
993 fusb300->gadget.speed = USB_SPEED_SUPER; in check_device_mode()
996 fusb300->gadget.speed = USB_SPEED_HIGH; in check_device_mode()
999 fusb300->gadget.speed = USB_SPEED_FULL; in check_device_mode()
1002 fusb300->gadget.speed = USB_SPEED_UNKNOWN; in check_device_mode()
1208 if (fusb300->driver->setup(&fusb300->gadget, &ctrl) < 0) in fusb300_irq()
[all …]
Dm66592-udc.c96 m66592->gadget.speed = USB_SPEED_UNKNOWN; in m66592_usb_disconnect()
98 m66592->driver->disconnect(&m66592->gadget); in m66592_usb_disconnect()
723 if (ep->m66592->gadget.speed == USB_SPEED_UNKNOWN) in transfer_complete()
999 m66592_queue(m66592->gadget.ep0, m66592->ep0_req, GFP_KERNEL); in get_status()
1126 m66592->gadget.speed = USB_SPEED_HIGH; in m66592_update_usb_speed()
1129 m66592->gadget.speed = USB_SPEED_FULL; in m66592_update_usb_speed()
1132 m66592->gadget.speed = USB_SPEED_UNKNOWN; in m66592_update_usb_speed()
1145 usb_gadget_udc_reset(&m66592->gadget, m66592->driver); in irq_device_state()
1151 && m66592->gadget.speed == USB_SPEED_UNKNOWN) in irq_device_state()
1182 if (m66592->driver->setup(&m66592->gadget, &ctrl) < 0) in irq_control_stage()
[all …]
Datmel_usba_udc.h332 struct usb_gadget gadget; member
369 static inline struct usba_udc *to_usba_udc(struct usb_gadget *gadget) in to_usba_udc() argument
371 return container_of(gadget, struct usba_udc, gadget); in to_usba_udc()
Dr8a66597-udc.h95 struct usb_gadget gadget; member
121 container_of(_gadget, struct r8a66597, gadget)
122 #define r8a66597_to_gadget(r8a66597) (&r8a66597->gadget)
123 #define r8a66597_to_dev(r8a66597) (r8a66597->gadget.dev.parent)
Dgoku_udc.c109 if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) in goku_ep_enable()
311 usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in); in done()
724 if (unlikely(!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN)) in goku_queue()
733 status = usb_gadget_map_request(&dev->gadget, &req->req, in goku_queue()
1269 INIT_LIST_HEAD (&dev->gadget.ep_list); in udc_reinit()
1270 dev->gadget.ep0 = &dev->ep [0].ep; in udc_reinit()
1271 dev->gadget.speed = USB_SPEED_UNKNOWN; in udc_reinit()
1285 list_add_tail (&ep->ep.ep_list, &dev->gadget.ep_list); in udc_reinit()
1353 dev->gadget.speed = USB_SPEED_FULL; in ep0_start()
1524 tmp = dev->driver->setup(&dev->gadget, &ctrl); in ep0_setup()
[all …]
Dpxa27x_udc.h457 struct usb_gadget gadget; member
488 #define to_pxa(g) (container_of((g), struct pxa_udc, gadget))
490 static inline struct pxa_udc *to_gadget_udc(struct usb_gadget *gadget) in to_gadget_udc() argument
492 return container_of(gadget, struct pxa_udc, gadget); in to_gadget_udc()
Dat91_udc.h128 struct usb_gadget gadget; member
155 return container_of(g, struct at91_udc, gadget); in to_udc()
Dm66592-udc.h472 struct usb_gadget gadget; member
495 #define to_m66592(g) (container_of((g), struct m66592, gadget))
497 #define gadget_to_m66592(_gadget) container_of(_gadget, struct m66592, gadget)
498 #define m66592_to_gadget(m66592) (&m66592->gadget)
Dfotg210.h241 struct usb_gadget gadget; member
253 #define gadget_to_fotg210(g) container_of((g), struct fotg210_udc, gadget)
Dpxa25x_udc.h100 struct usb_gadget gadget; member
129 #define to_pxa25x(g) (container_of((g), struct pxa25x_udc, gadget))
Dgoku_udc.h243 struct usb_gadget gadget; member
263 #define to_goku_udc(g) (container_of((g), struct goku_udc, gadget))
Damd5536udc.h523 struct usb_gadget gadget; member
562 #define to_amd5536_udc(g) (container_of((g), struct udc, gadget))
Dfsl_qe_udc.h269 struct usb_gadget *gadget; member
320 struct usb_gadget gadget; member
Dnet2280.h153 struct usb_gadget gadget; member
376 if (ep->dev->gadget.speed != USB_SPEED_HIGH) in set_max_speed()
Dfsl_usb2_udc.h467 struct usb_gadget *gadget; member
477 struct usb_gadget gadget; member
Domap_udc.h160 struct usb_gadget gadget; member
Dfusb300_udc.h661 struct usb_gadget gadget; member
676 #define to_fusb300(g) (container_of((g), struct fusb300, gadget))
Dmv_udc.h174 struct usb_gadget gadget; member
Dmv_u3d.h243 struct usb_gadget gadget; member
/linux-4.4.14/Documentation/ABI/testing/
Dconfigfs-usb-gadget1 What: /config/usb-gadget
8 What: /config/usb-gadget/gadget
13 The attributes of a gadget:
15 UDC - bind a gadget to UDC/unbind a gadget;
17 to bind a gadget, empty string "" to unbind.
28 What: /config/usb-gadget/gadget/configs
32 This group contains a USB gadget's configurations
34 What: /config/usb-gadget/gadget/configs/config
43 What: /config/usb-gadget/gadget/configs/config/strings
50 What: /config/usb-gadget/gadget/configs/config/strings/language
[all …]
Dconfigfs-usb-gadget-uvc1 What: /config/usb-gadget/gadget/functions/uvc.name
10 What: /config/usb-gadget/gadget/functions/uvc.name/control
15 What: /config/usb-gadget/gadget/functions/uvc.name/control/class
20 What: /config/usb-gadget/gadget/functions/uvc.name/control/class/ss
25 What: /config/usb-gadget/gadget/functions/uvc.name/control/class/fs
30 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal
35 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
40 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
54 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
59 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
[all …]
Dsysfs-devices-platform-_UDC_-gadget1 What: /sys/devices/platform/_UDC_/gadget/suspended
5 Show the suspend state of an USB composite gadget.
11 What: /sys/devices/platform/_UDC_/gadget/gadget-lunX/nofua
16 the SCSI WRITE(10,12) commands when a gadget in USB Mass
Dconfigfs-usb-gadget-mass-storage1 What: /config/usb-gadget/gadget/functions/mass_storage.name
14 What: /config/usb-gadget/gadget/functions/mass_storage.name/lun.name
Dconfigfs-usb-gadget-loopback1 What: /config/usb-gadget/gadget/functions/Loopback.name
Dconfigfs-usb-gadget-printer1 What: /config/usb-gadget/gadget/functions/printer.name
Dconfigfs-usb-gadget-phonet1 What: /config/usb-gadget/gadget/functions/phonet.name
Dconfigfs-usb-gadget-sourcesink1 What: /config/usb-gadget/gadget/functions/SourceSink.name
Dconfigfs-usb-gadget-acm1 What: /config/usb-gadget/gadget/functions/acm.name
Dconfigfs-usb-gadget-obex1 What: /config/usb-gadget/gadget/functions/obex.name
Dconfigfs-usb-gadget-serial1 What: /config/usb-gadget/gadget/functions/gser.name
Dconfigfs-usb-gadget-uac21 What: /config/usb-gadget/gadget/functions/uac2.name
Dconfigfs-usb-gadget-ffs1 What: /config/usb-gadget/gadget/functions/ffs.name
Dconfigfs-usb-gadget-hid1 What: /config/usb-gadget/gadget/functions/hid.name
Dconfigfs-usb-gadget-uac11 What: /config/usb-gadget/gadget/functions/uac1.name
Dconfigfs-usb-gadget-midi1 What: /config/usb-gadget/gadget/functions/midi.name
Dconfigfs-usb-gadget-ncm1 What: /config/usb-gadget/gadget/functions/ncm.name
Dconfigfs-usb-gadget-eem1 What: /config/usb-gadget/gadget/functions/eem.name
Dconfigfs-usb-gadget-subset1 What: /config/usb-gadget/gadget/functions/geth.name
Dconfigfs-usb-gadget-ecm1 What: /config/usb-gadget/gadget/functions/ecm.name
Dconfigfs-usb-gadget-rndis1 What: /config/usb-gadget/gadget/functions/rndis.name
Dconfigfs-spear-pcie-gadget1 What: /config/pcie-gadget
17 /config/pcie-gadget.n/
/linux-4.4.14/Documentation/DocBook/
D.gadget.xml.cmd1 …ocumentation/DocBook/gadget.xml := SRCTREE=./ ./scripts/docproc doc Documentation/DocBook/gadget.t…
2gadget.xml: Documentation/DocBook/gadget.tmpl include/linux/usb/ch9.h include/linux/usb/gadget.h d…
Dgadget.xml.db19 API-struct-usb-gadget
21 API-gadget-is-altset-supported
22 API-gadget-is-stall-supported
23 API-gadget-is-zlp-supported
24 API-gadget-is-dualspeed
25 API-gadget-is-superspeed
26 API-gadget-is-otg
27 API-usb-gadget-frame-number
28 API-usb-gadget-wakeup
29 API-usb-gadget-set-selfpowered
[all …]
DMakefile13 gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
/linux-4.4.14/drivers/usb/gadget/
Depautoconf.c68 struct usb_gadget *gadget, in usb_ep_autoconfig_ss() argument
78 if (gadget->ops->match_ep) { in usb_ep_autoconfig_ss()
79 ep = gadget->ops->match_ep(gadget, desc, ep_comp); in usb_ep_autoconfig_ss()
85 list_for_each_entry (ep, &gadget->ep_list, ep_list) { in usb_ep_autoconfig_ss()
86 if (usb_gadget_ep_match_desc(gadget, ep, desc, ep_comp)) in usb_ep_autoconfig_ss()
107 if (++gadget->in_epnum > 15) in usb_ep_autoconfig_ss()
109 desc->bEndpointAddress = USB_DIR_IN | gadget->in_epnum; in usb_ep_autoconfig_ss()
111 if (++gadget->out_epnum > 15) in usb_ep_autoconfig_ss()
113 desc->bEndpointAddress |= gadget->out_epnum; in usb_ep_autoconfig_ss()
166 struct usb_gadget *gadget, in usb_ep_autoconfig() argument
[all …]
Dcomposite.c289 status = usb_gadget_deactivate(cdev->gadget); in usb_function_deactivate()
321 status = usb_gadget_activate(cdev->gadget); in usb_function_activate()
448 struct usb_gadget *gadget = cdev->gadget; in config_desc() local
454 if (gadget->speed == USB_SPEED_SUPER) in config_desc()
455 speed = gadget->speed; in config_desc()
456 else if (gadget_is_dualspeed(gadget)) { in config_desc()
458 if (gadget->speed == USB_SPEED_HIGH) in config_desc()
507 struct usb_gadget *gadget = cdev->gadget; in count_configs() local
513 if (gadget_is_dualspeed(gadget)) { in count_configs()
514 if (gadget->speed == USB_SPEED_HIGH) in count_configs()
[all …]
Dconfig.c168 struct usb_gadget *g = f->config->cdev->gadget; in usb_assign_descriptors()
201 struct usb_gadget *gadget) in usb_otg_descriptor_alloc() argument
206 if (gadget->otg_caps && (gadget->otg_caps->otg_rev >= 0x0200)) in usb_otg_descriptor_alloc()
216 int usb_otg_descriptor_init(struct usb_gadget *gadget, in usb_otg_descriptor_init() argument
221 struct usb_otg_caps *otg_caps = gadget->otg_caps; in usb_otg_descriptor_init()
DKconfig4 # (b) the gadget driver using it.
35 peripheral/device side bus controller, and a "gadget driver" for
36 your peripheral protocol. (If you use modular gadget drivers,
42 For more information, see <http://www.linux-usb.org/gadget> and
51 Many controller and gadget drivers will print some debugging
65 Many controller and gadget drivers will print verbose debugging
79 Some of the drivers in the "gadget" framework can expose
90 Some of the drivers in the "gadget" framework can expose
111 This value will be used except for system-specific gadget
130 source "drivers/usb/gadget/udc/Kconfig"
[all …]
Dconfigfs.c1222 dev_err(&gi->cdev.gadget->dev, "unbind function" in purge_configs_funcs()
1235 static int configfs_composite_bind(struct usb_gadget *gadget, in configfs_composite_bind() argument
1248 cdev->gadget = gadget; in configfs_composite_bind()
1249 set_gadget_data(gadget, cdev); in configfs_composite_bind()
1309 if (gadget_is_otg(gadget) && !otg_desc[0]) { in configfs_composite_bind()
1312 usb_desc = usb_otg_descriptor_alloc(gadget); in configfs_composite_bind()
1317 usb_otg_descriptor_init(gadget, usb_desc); in configfs_composite_bind()
1329 if (gadget_is_otg(gadget)) in configfs_composite_bind()
1358 usb_ep_autoconfig_reset(cdev->gadget); in configfs_composite_bind()
1361 ret = composite_os_desc_req_prepare(cdev, gadget->ep0); in configfs_composite_bind()
[all …]
DMakefile6 ccflags-y += -I$(srctree)/drivers/usb/gadget/udc
/linux-4.4.14/drivers/usb/gadget/legacy/
Ddbgp.c26 struct usb_gadget *gadget; member
123 dev_dbg(&dbgp.gadget->dev, in dbgp_complete()
161 dev_dbg(&dbgp.gadget->dev, in dbgp_enable_ep_req()
203 dev_dbg(&dbgp.gadget->dev, "enable ep: failure (%d:%d)\n", stp, err); in dbgp_enable_ep()
208 static void dbgp_disconnect(struct usb_gadget *gadget) in dbgp_disconnect() argument
217 static void dbgp_unbind(struct usb_gadget *gadget) in dbgp_unbind() argument
225 usb_ep_free_request(gadget->ep0, dbgp.req); in dbgp_unbind()
234 static int dbgp_configure_endpoints(struct usb_gadget *gadget) in dbgp_configure_endpoints() argument
238 usb_ep_autoconfig_reset(gadget); in dbgp_configure_endpoints()
240 dbgp.i_ep = usb_ep_autoconfig(gadget, &i_desc); in dbgp_configure_endpoints()
[all …]
Dether.c218 if (gadget_is_otg(c->cdev->gadget)) { in rndis_do_config()
260 if (gadget_is_otg(c->cdev->gadget)) { in eth_do_config()
275 } else if (can_support_ecm(c->cdev->gadget)) { in eth_do_config()
310 struct usb_gadget *gadget = cdev->gadget; in eth_bind() local
331 } else if (can_support_ecm(gadget)) { in eth_bind()
371 gether_set_gadget(net, cdev->gadget); in eth_bind()
378 else if (can_support_ecm(gadget)) in eth_bind()
406 if (gadget_is_otg(gadget) && !otg_desc[0]) { in eth_bind()
409 usb_desc = usb_otg_descriptor_alloc(gadget); in eth_bind()
412 usb_otg_descriptor_init(gadget, usb_desc); in eth_bind()
[all …]
Dcdc2.c97 if (gadget_is_otg(c->cdev->gadget)) { in cdc_do_config()
144 struct usb_gadget *gadget = cdev->gadget; in cdc_bind() local
148 if (!can_support_ecm(cdev->gadget)) { in cdc_bind()
149 dev_err(&gadget->dev, "controller '%s' not usable\n", in cdc_bind()
150 gadget->name); in cdc_bind()
182 if (gadget_is_otg(gadget) && !otg_desc[0]) { in cdc_bind()
185 usb_desc = usb_otg_descriptor_alloc(gadget); in cdc_bind()
188 usb_otg_descriptor_init(gadget, usb_desc); in cdc_bind()
199 dev_info(&gadget->dev, "%s, version: " DRIVER_VERSION "\n", in cdc_bind()
Dprinter.c120 struct usb_gadget *gadget = c->cdev->gadget; in printer_do_config() local
123 usb_ep_autoconfig_reset(gadget); in printer_do_config()
125 usb_gadget_set_selfpowered(gadget); in printer_do_config()
127 if (gadget_is_otg(gadget)) { in printer_do_config()
172 if (gadget_is_otg(cdev->gadget) && !otg_desc[0]) { in printer_bind()
175 usb_desc = usb_otg_descriptor_alloc(cdev->gadget); in printer_bind()
180 usb_otg_descriptor_init(cdev->gadget, usb_desc); in printer_bind()
Dncm.c103 if (gadget_is_otg(c->cdev->gadget)) { in ncm_do_config()
135 struct usb_gadget *gadget = cdev->gadget; in gncm_bind() local
161 if (gadget_is_otg(gadget) && !otg_desc[0]) { in gncm_bind()
164 usb_desc = usb_otg_descriptor_alloc(gadget); in gncm_bind()
167 usb_otg_descriptor_init(gadget, usb_desc); in gncm_bind()
178 dev_info(&gadget->dev, "%s\n", DRIVER_DESC); in gncm_bind()
Dinode.c140 struct usb_gadget *gadget; member
779 switch (data->dev->gadget->speed) { in ep_config()
932 (void) usb_ep_set_halt (dev->gadget->ep0); in ep0_read()
937 struct usb_ep *ep = dev->gadget->ep0; in ep0_read()
948 if (gadget_is_dualspeed(dev->gadget) in ep0_read()
949 && (dev->gadget->speed in ep0_read()
954 usb_gadget_vbus_draw(dev->gadget, 2 * power); in ep0_read()
987 clean_req (dev->gadget->ep0, dev->req); in ep0_read()
1127 retval = setup_req (dev->gadget->ep0, dev->req, len); in ep0_write()
1137 dev->gadget->ep0, dev->req, in ep0_write()
[all …]
Dmulti.c142 if (gadget_is_otg(c->cdev->gadget)) { in rndis_do_config()
224 if (gadget_is_otg(c->cdev->gadget)) { in cdc_do_config()
300 struct usb_gadget *gadget = cdev->gadget; in multi_bind() local
311 if (!can_support_ecm(cdev->gadget)) { in multi_bind()
312 dev_err(&gadget->dev, "controller '%s' not usable\n", in multi_bind()
313 gadget->name); in multi_bind()
354 gether_set_gadget(ecm_opts->net, cdev->gadget); in multi_bind()
402 if (gadget_is_otg(gadget) && !otg_desc[0]) { in multi_bind()
405 usb_desc = usb_otg_descriptor_alloc(gadget); in multi_bind()
408 usb_otg_descriptor_init(gadget, usb_desc); in multi_bind()
[all …]
Dacm_ms.c115 if (gadget_is_otg(c->cdev->gadget)) { in acm_ms_do_config()
161 struct usb_gadget *gadget = cdev->gadget; in acm_ms_bind() local
206 if (gadget_is_otg(gadget) && !otg_desc[0]) { in acm_ms_bind()
209 usb_desc = usb_otg_descriptor_alloc(gadget); in acm_ms_bind()
212 usb_otg_descriptor_init(gadget, usb_desc); in acm_ms_bind()
223 dev_info(&gadget->dev, "%s, version: " DRIVER_VERSION "\n", in acm_ms_bind()
Dhid.c99 if (gadget_is_otg(c->cdev->gadget)) { in do_config()
137 struct usb_gadget *gadget = cdev->gadget; in hid_bind() local
174 if (gadget_is_otg(gadget) && !otg_desc[0]) { in hid_bind()
177 usb_desc = usb_otg_descriptor_alloc(gadget); in hid_bind()
180 usb_otg_descriptor_init(gadget, usb_desc); in hid_bind()
191 dev_info(&gadget->dev, DRIVER_DESC ", version: " DRIVER_VERSION "\n"); in hid_bind()
Dg_ffs.c328 if (can_support_ecm(cdev->gadget)) { in gfs_bind()
374 gether_set_gadget(net, cdev->gadget); in gfs_bind()
379 if (can_support_ecm(cdev->gadget)) { in gfs_bind()
401 if (gadget_is_otg(cdev->gadget) && !gfs_otg_desc[0]) { in gfs_bind()
404 usb_desc = usb_otg_descriptor_alloc(cdev->gadget); in gfs_bind()
407 usb_otg_descriptor_init(cdev->gadget, usb_desc); in gfs_bind()
440 if (can_support_ecm(cdev->gadget)) in gfs_bind()
464 if (can_support_ecm(cdev->gadget)) { in gfs_unbind()
495 if (gadget_is_otg(c->cdev->gadget)) { in gfs_do_config()
548 if (can_support_ecm(c->cdev->gadget)) { in eth_bind_config()
Dmass_storage.c124 if (gadget_is_otg(c->cdev->gadget)) { in msg_do_config()
195 if (gadget_is_otg(cdev->gadget) && !otg_desc[0]) { in msg_bind()
198 usb_desc = usb_otg_descriptor_alloc(cdev->gadget); in msg_bind()
201 usb_otg_descriptor_init(cdev->gadget, usb_desc); in msg_bind()
211 dev_info(&cdev->gadget->dev, in msg_bind()
Dzero.c159 struct usb_gadget *g = cdev->gadget; in zero_autoresume()
177 if (cdev->gadget->speed == USB_SPEED_UNKNOWN) in zero_suspend()
326 if (gadget_is_otg(cdev->gadget)) { in zero_bind()
330 usb_desc = usb_otg_descriptor_alloc(cdev->gadget); in zero_bind()
335 usb_otg_descriptor_init(cdev->gadget, usb_desc); in zero_bind()
359 usb_ep_autoconfig_reset(cdev->gadget); in zero_bind()
364 usb_ep_autoconfig_reset(cdev->gadget); in zero_bind()
DMakefile5 ccflags-y := -I$(srctree)/drivers/usb/gadget/
6 ccflags-y += -I$(srctree)/drivers/usb/gadget/udc/
7 ccflags-y += -I$(srctree)/drivers/usb/gadget/function/
DKconfig4 # (b) the gadget driver using it.
27 USB "gadget drivers" can be written.
48 this gadget connects to another OTG device, with this one using
109 Within the USB device, this gadget driver exposes a network device
111 Treat it like a two-node Ethernet link: host, and gadget.
133 If you say "y" here, the Ethernet gadget driver will try to provide
157 If you say "y" here, the Ethernet gadget driver will use the EEM
202 configurations the gadget will provide.
254 This fabric is an USB gadget. Two USB protocols are supported that is
295 connections can then be made on the gadget system, using
[all …]
Dserial.c179 if (gadget_is_otg(cdev->gadget)) { in gs_bind()
183 usb_desc = usb_otg_descriptor_alloc(cdev->gadget); in gs_bind()
188 usb_otg_descriptor_init(cdev->gadget, usb_desc); in gs_bind()
200 usb_ep_autoconfig_reset(cdev->gadget); in gs_bind()
Daudio.c162 if (gadget_is_otg(c->cdev->gadget)) { in audio_do_config()
248 if (gadget_is_otg(cdev->gadget) && !otg_desc[0]) { in audio_bind()
251 usb_desc = usb_otg_descriptor_alloc(cdev->gadget); in audio_bind()
254 usb_otg_descriptor_init(cdev->gadget, usb_desc); in audio_bind()
Dtcm_usb_gadget.c211 struct usb_gadget *gadget = fuas_to_gadget(fu); in bot_send_read_response() local
220 if (!gadget->sg_supported) { in bot_send_read_response()
253 struct usb_gadget *gadget = fuas_to_gadget(fu); in bot_send_write_request() local
264 if (!gadget->sg_supported) { in bot_send_write_request()
395 struct usb_gadget *gadget = f->config->cdev->gadget; in bot_set_alt() local
400 config_ep_by_speed(gadget, f, fu->ep_in); in bot_set_alt()
405 config_ep_by_speed(gadget, f, fu->ep_out); in bot_set_alt()
461 return usb_ep_queue(cdev->gadget->ep0, cdev->req, GFP_ATOMIC); in usbg_bot_setup()
521 struct usb_gadget *gadget = fuas_to_gadget(fu); in uasp_prepare_r_request() local
524 if (!gadget->sg_supported) { in uasp_prepare_r_request()
[all …]
Dnokia.c273 struct usb_gadget *gadget = cdev->gadget; in nokia_bind() local
287 if (!gadget_is_altset_supported(gadget)) { in nokia_bind()
359 dev_info(&gadget->dev, "%s\n", NOKIA_LONG_NAME); in nokia_bind()
Dtcm_usb_gadget.h14 #define fuas_to_gadget(f) (f->function.config->cdev->gadget)
/linux-4.4.14/drivers/usb/gadget/udc/bdc/
Dbdc_udc.c91 bdc->gadget.ep0->maxpacket = EP0_MAX_PKT_SIZE; in bdc_uspc_connected()
92 bdc->gadget.speed = USB_SPEED_SUPER; in bdc_uspc_connected()
103 bdc->gadget.ep0->maxpacket = 64; in bdc_uspc_connected()
104 bdc->gadget.speed = USB_SPEED_HIGH; in bdc_uspc_connected()
109 bdc->gadget.ep0->maxpacket = 64; in bdc_uspc_connected()
110 bdc->gadget.speed = USB_SPEED_FULL; in bdc_uspc_connected()
115 bdc->gadget.ep0->maxpacket = 8; in bdc_uspc_connected()
116 bdc->gadget.speed = USB_SPEED_LOW; in bdc_uspc_connected()
130 usb_gadget_set_state(&bdc->gadget, USB_STATE_DEFAULT); in bdc_uspc_connected()
150 bdc->gadget_driver->disconnect(&bdc->gadget); in bdc_uspc_disconnected()
[all …]
Dbdc_ep.c406 (req_len % bdc->gadget.ep0->maxpacket == 0)) { in setup_first_bd_ep0()
409 bdc->gadget.ep0->maxpacket); in setup_first_bd_ep0()
555 usb_gadget_unmap_request(&bdc->gadget, &req->usb_req, ep->dir); in bdc_req_complete()
693 ret = usb_gadget_map_request(&bdc->gadget, &req->usb_req, ep->dir); in ep0_queue()
732 ret = usb_gadget_map_request(&bdc->gadget, &req->usb_req, ep->dir); in ep_queue()
816 start_pending, end_pending, bdc->gadget.speed); in ep_dequeue()
826 if (bdc->gadget.speed == USB_SPEED_UNKNOWN) in ep_dequeue()
1114 enum usb_device_state state = bdc->gadget.state; in ep0_set_address()
1135 usb_gadget_set_state(&bdc->gadget, USB_STATE_ADDRESS); in ep0_set_address()
1137 usb_gadget_set_state(&bdc->gadget, USB_STATE_DEFAULT); in ep0_set_address()
[all …]
Dbdc.h269 #define gadget_to_bdc(g) container_of(g, struct bdc, gadget)
410 struct usb_gadget gadget; member
/linux-4.4.14/drivers/usb/phy/
Dphy-gpio-vbus-usb.c107 if (!gpio_vbus->phy.otg->gadget) in gpio_vbus_work()
126 usb_gadget_vbus_connect(gpio_vbus->phy.otg->gadget); in gpio_vbus_work()
136 status, gpio_vbus->phy.otg->gadget); in gpio_vbus_work()
145 usb_gadget_vbus_disconnect(gpio_vbus->phy.otg->gadget); in gpio_vbus_work()
151 status, gpio_vbus->phy.otg->gadget); in gpio_vbus_work()
166 otg->gadget ? otg->gadget->name : "none"); in gpio_vbus_irq()
168 if (otg->gadget) in gpio_vbus_irq()
178 struct usb_gadget *gadget) in gpio_vbus_set_peripheral() argument
190 if (!gadget) { in gpio_vbus_set_peripheral()
192 otg->gadget->name); in gpio_vbus_set_peripheral()
[all …]
Dphy-tahvo.c88 if (tu->phy.otg->gadget) in check_vbus_state()
89 usb_gadget_vbus_connect(tu->phy.otg->gadget); in check_vbus_state()
107 if (tu->phy.otg->gadget) in check_vbus_state()
108 usb_gadget_vbus_disconnect(tu->phy.otg->gadget); in check_vbus_state()
164 if (tu->phy.otg->gadget) in tahvo_usb_stop_peripheral()
165 usb_gadget_vbus_disconnect(tu->phy.otg->gadget); in tahvo_usb_stop_peripheral()
174 if (tu->phy.otg->gadget) in tahvo_usb_power_off()
175 usb_gadget_vbus_disconnect(tu->phy.otg->gadget); in tahvo_usb_power_off()
230 struct usb_gadget *gadget) in tahvo_usb_set_peripheral() argument
235 dev_dbg(&tu->pt_dev->dev, "%s %p\n", __func__, gadget); in tahvo_usb_set_peripheral()
[all …]
Dphy-generic.c121 usb_gadget_vbus_connect(otg->gadget); in nop_gpio_vbus_thread()
127 otg->gadget); in nop_gpio_vbus_thread()
131 usb_gadget_vbus_disconnect(otg->gadget); in nop_gpio_vbus_thread()
137 otg->gadget); in nop_gpio_vbus_thread()
176 static int nop_set_peripheral(struct usb_otg *otg, struct usb_gadget *gadget) in nop_set_peripheral() argument
181 if (!gadget) { in nop_set_peripheral()
182 otg->gadget = NULL; in nop_set_peripheral()
186 otg->gadget = gadget; in nop_set_peripheral()
Dphy-isp1301-omap.c309 isp->phy.otg->gadget->b_hnp_enable = 0; in gadget_suspend()
310 isp->phy.otg->gadget->a_hnp_support = 0; in gadget_suspend()
311 isp->phy.otg->gadget->a_alt_hnp_support = 0; in gadget_suspend()
312 return usb_gadget_vbus_disconnect(isp->phy.otg->gadget); in gadget_suspend()
350 if (isp->phy.otg->gadget) { in a_idle()
351 isp->phy.otg->gadget->is_a_peripheral = 1; in a_idle()
374 if (isp->phy.otg->gadget) { in b_idle()
375 isp->phy.otg->gadget->is_a_peripheral = 0; in b_idle()
557 if (isp->phy.otg->gadget->b_hnp_enable) { in otg_update_isp()
929 usb_gadget_vbus_connect(isp->phy.otg->gadget); in b_peripheral()
[all …]
Dphy-fsl-usb.c535 if (!otg->gadget || !otg->gadget->dev.parent) in fsl_otg_start_gadget()
539 dev = otg->gadget->dev.parent; in fsl_otg_start_gadget()
606 struct usb_gadget *gadget) in fsl_otg_set_peripheral() argument
619 if (!gadget) { in fsl_otg_set_peripheral()
621 otg->gadget->ops->vbus_draw(otg->gadget, 0); in fsl_otg_set_peripheral()
622 usb_gadget_vbus_disconnect(otg->gadget); in fsl_otg_set_peripheral()
623 otg->gadget = 0; in fsl_otg_set_peripheral()
629 otg->gadget = gadget; in fsl_otg_set_peripheral()
630 otg->gadget->is_a_peripheral = !otg_dev->fsm.id; in fsl_otg_set_peripheral()
752 if (otg->gadget) in fsl_otg_isr()
[all …]
Dphy-mv-usb.c75 struct usb_gadget *gadget) in mv_otg_set_peripheral() argument
77 otg->gadget = gadget; in mv_otg_set_peripheral()
228 if (!otg->gadget) in mv_otg_start_periphrals()
234 usb_gadget_vbus_connect(otg->gadget); in mv_otg_start_periphrals()
236 usb_gadget_vbus_disconnect(otg->gadget); in mv_otg_start_periphrals()
Dphy-msm-usb.c764 if (motg->pdata->mode == USB_DR_MODE_HOST || otg->gadget) { in msm_otg_set_host()
777 if (!phy->otg->gadget) in msm_otg_start_peripheral()
789 usb_gadget_vbus_connect(phy->otg->gadget); in msm_otg_start_peripheral()
792 usb_gadget_vbus_disconnect(phy->otg->gadget); in msm_otg_start_peripheral()
800 struct usb_gadget *gadget) in msm_otg_set_peripheral() argument
813 if (!gadget) { in msm_otg_set_peripheral()
817 otg->gadget = NULL; in msm_otg_set_peripheral()
821 otg->gadget = NULL; in msm_otg_set_peripheral()
826 otg->gadget = gadget; in msm_otg_set_peripheral()
1857 if (phy->otg->host || phy->otg->gadget) in msm_otg_remove()
DKconfig133 This chip is typically used as USB transceiver for USB host, gadget
175 implements role switch between EHCI host driver and gadget driver.
196 This chip is typically used as USB PHY for USB host, gadget.
Dphy-ab8500-usb.c959 if (!ab->phy.otg->gadget) in ab8500_usb_phy_disable_work()
1065 struct usb_gadget *gadget) in ab8500_usb_set_peripheral() argument
1074 ab->phy.otg->gadget = gadget; in ab8500_usb_set_peripheral()
1081 if ((ab->mode != USB_IDLE) && !gadget) { in ab8500_usb_set_peripheral()
/linux-4.4.14/Documentation/usb/
Dgadget_configfs.txt5 Linux USB gadget configured through configfs
20 A gadget is seen by its host as a set of configurations, each of which contains
21 a number of interfaces which, from the gadget's perspective, are known as
26 Creating a gadget means deciding what configurations there will be
33 It also describes how configfs integration into gadget is designed.
62 For each gadget to be created its corresponding directory must be created:
64 $ mkdir $CONFIGFS_HOME/usb_gadget/<gadget name>
76 Each gadget needs to have its vendor id <VID> and product id <PID> specified:
81 A gadget also needs its serial number, manufacturer and product strings.
96 Each gadget will consist of a number of configurations, their corresponding
[all …]
Dgadget_serial.txt24 This document and the gadget serial driver itself are
33 Versions of the gadget serial driver are available for the
35 version 2.3 or later of the gadget serial driver in a 2.6
42 gadget and usb drivers as modules.
53 The gadget serial driver is a Linux USB gadget driver, a USB device
58 The gadget serial driver talks over USB to either a CDC ACM driver
81 On the device-side Linux system, the gadget serial driver looks
84 On the host-side system, the gadget serial device looks like a
95 With the gadget serial driver and the host side ACM or generic
97 the host and the gadget side systems as if they were connected by a
[all …]
Dgadget_multi.txt5 The Multifunction Composite Gadget (or g_multi) is a composite gadget
7 a... multifunction gadget.
14 and RNDIS can be turned off. If they are both enabled the gadget will
22 To make use of the gadget one needs to make it work on host side --
23 without that there's no hope of achieving anything with the gadget.
28 Since the gadget uses standard composite framework and appears as such
39 For the gadget two work under Windows two conditions have to be met:
41 *** Detecting as composite gadget
43 First of all, Windows need to detect the gadget as an USB composite
44 gadget which on its own have some conditions[4]. If they are met,
[all …]
Dmass-storage.txt7 to read-only, and gadget can indicate that it is removable and/or
21 This document describes how to use the gadget from user space, its
29 The mass storage gadget accepts the following mass storage specific
56 If this option is set for a logical unit, gadget will accept an
77 reader). It does *not* mean that the entire gadget can be
93 backing file could not be opened in read/write mode, the gadget
119 This parameter specifies number of logical units the gadget will
134 Specifies whether the gadget is allowed to halt bulk endpoints.
138 In addition to the above, the gadget also accepts the following
151 For each logical unit, the gadget creates a directory in the sysfs
[all …]
Dgadget_printer.txt17 a gadget / "device class" driver using the Linux USB Gadget API. After the
18 USB device controller driver is loaded then load the printer gadget driver.
24 printer gadget driver using a device file. The printer returns a printer status
35 To load the USB device controller driver and the printer gadget driver. The
42 The follow command line parameter can be used when loading the printer gadget
100 To get the current printer status for the gadget driver:
197 /* Open device file for printer gadget. */
217 /* Read data from printer gadget driver. */
247 /* Open device file for printer gadget. */
272 /* Write data to printer gadget driver. */
[all …]
Dgadget-testing.txt167 process which implements the function proper). The gadget should be enabled
168 by writing a suitable string to usb_gadget/<gadget>/UDC.
173 On the device: start the function's userspace daemon, enable the gadget
211 - create the gadget
212 - connect the gadget to a host, preferably not the one used
213 to control the gadget
220 - observe the keystrokes from the gadget
239 device: run the gadget
291 device: connect the gadget, enable it
316 There are two cases: playing a mid from the gadget to
[all …]
Dfunctionfs.txt35 a gadget could use several FunctionFS functions. The idea is that
39 One can imagine a gadget that has an Ethernet, MTP and HID interfaces
49 On kernel level the gadget checks ffs_data->dev_name to identify
61 The gadget is registered only after all the declared function
65 Conversely, the gadget is unregistered after the first USB function
Dgadget_hid.txt2 Linux USB HID gadget driver
75 the amount of interrupt endpoints your gadget driver supports.
80 some data to the kernel, if HID is a part of a gadget composed with
91 gadget driver. To use, point it at a hidg device and set the
104 HID gadget.
108 gadget and you should receive the host answer, corresponding
Dchipidea.txt17 1) Power up 2 Freescale i.MX6Q sabre SD boards with gadget class driver loaded
/linux-4.4.14/drivers/usb/isp1760/
Disp1760-udc.c36 static inline struct isp1760_udc *gadget_to_udc(struct usb_gadget *gadget) in gadget_to_udc() argument
38 return container_of(gadget, struct isp1760_udc, gadget); in gadget_to_udc()
504 if (udc->gadget.state != USB_STATE_DEFAULT && in isp1760_udc_set_address()
505 udc->gadget.state != USB_STATE_ADDRESS) { in isp1760_udc_set_address()
507 udc->gadget.state); in isp1760_udc_set_address()
511 usb_gadget_set_state(&udc->gadget, addr ? USB_STATE_ADDRESS : in isp1760_udc_set_address()
621 if (udc->gadget.state != USB_STATE_ADDRESS && in isp1760_ep0_setup_standard()
622 udc->gadget.state != USB_STATE_CONFIGURED) in isp1760_ep0_setup_standard()
625 stall = udc->driver->setup(&udc->gadget, req) < 0; in isp1760_ep0_setup_standard()
629 usb_gadget_set_state(&udc->gadget, req->wValue ? in isp1760_ep0_setup_standard()
[all …]
Disp1760-udc.h73 struct usb_gadget gadget; member
DKconfig37 gadget function will be disabled.
/linux-4.4.14/drivers/usb/renesas_usbhs/
Dmod_gadget.c47 struct usb_gadget gadget; member
95 container_of(g, struct usbhsg_gpriv, gadget)
114 #define usbhsg_is_not_connected(gp) ((gp)->gadget.speed == USB_SPEED_UNKNOWN)
210 ret = usb_gadget_map_request(&gpriv->gadget, req, dir); in usbhsg_dma_map_ctrl()
216 usb_gadget_unmap_request(&gpriv->gadget, req, dir); in usbhsg_dma_map_ctrl()
470 gpriv->gadget.speed = usbhs_bus_get_speed(priv); in usbhsg_irq_dev_state()
474 gpriv->gadget.speed); in usbhsg_irq_dev_state()
545 ret = gpriv->driver->setup(&gpriv->gadget, &ctrl); in usbhsg_irq_ctrl_stage()
876 gpriv->gadget.speed = USB_SPEED_UNKNOWN; in usbhsg_try_stop()
915 static int usbhsg_gadget_start(struct usb_gadget *gadget, in usbhsg_gadget_start() argument
[all …]
/linux-4.4.14/drivers/usb/chipidea/
Dudc.c427 ret = usb_gadget_map_request(&ci->gadget, &hwreq->req, hwep->dir); in _hardware_enqueue()
603 usb_gadget_unmap_request(&hwep->ci->gadget, &hwreq->req, hwep->dir); in _hardware_dequeue()
703 static int _gadget_stop_activity(struct usb_gadget *gadget) in _gadget_stop_activity() argument
706 struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget); in _gadget_stop_activity()
710 ci->gadget.speed = USB_SPEED_UNKNOWN; in _gadget_stop_activity()
716 gadget_for_each_ep(ep, gadget) { in _gadget_stop_activity()
723 gadget_for_each_ep(ep, gadget) { in _gadget_stop_activity()
751 if (ci->gadget.speed != USB_SPEED_UNKNOWN) in isr_reset_handler()
752 usb_gadget_udc_reset(&ci->gadget, ci->driver); in isr_reset_handler()
754 retval = _gadget_stop_activity(&ci->gadget); in isr_reset_handler()
[all …]
Ddebug.c27 struct usb_gadget *gadget = &ci->gadget; in ci_device_show() local
29 seq_printf(s, "speed = %d\n", gadget->speed); in ci_device_show()
30 seq_printf(s, "max_speed = %d\n", gadget->max_speed); in ci_device_show()
31 seq_printf(s, "is_otg = %d\n", gadget->is_otg); in ci_device_show()
32 seq_printf(s, "is_a_peripheral = %d\n", gadget->is_a_peripheral); in ci_device_show()
33 seq_printf(s, "b_hnp_enable = %d\n", gadget->b_hnp_enable); in ci_device_show()
34 seq_printf(s, "a_hnp_support = %d\n", gadget->a_hnp_support); in ci_device_show()
35 seq_printf(s, "a_alt_hnp_support = %d\n", gadget->a_alt_hnp_support); in ci_device_show()
37 (gadget->name ? gadget->name : "")); in ci_device_show()
Dotg.c102 usb_gadget_vbus_connect(&ci->gadget); in ci_handle_vbus_change()
104 usb_gadget_vbus_disconnect(&ci->gadget); in ci_handle_vbus_change()
Dotg_fsm.c538 usb_gadget_vbus_connect(&ci->gadget); in ci_otg_start_gadget()
540 usb_gadget_vbus_disconnect(&ci->gadget); in ci_otg_start_gadget()
679 ci->gadget.is_a_peripheral = 1; in ci_otg_fsm_event()
773 ci->otg.gadget = &ci->gadget; in ci_hdrc_otg_fsm_init()
Dci_hdrc_msm.c22 struct device *dev = ci->gadget.dev.parent; in ci_hdrc_msm_notify_event()
Dci.h223 struct usb_gadget gadget; member
/linux-4.4.14/drivers/usb/gadget/function/
Df_obex.c202 dev_dbg(&cdev->gadget->dev, in obex_set_alt()
210 dev_dbg(&cdev->gadget->dev, in obex_set_alt()
216 dev_dbg(&cdev->gadget->dev, in obex_set_alt()
218 if (config_ep_by_speed(cdev->gadget, f, in obex_set_alt()
220 config_ep_by_speed(cdev->gadget, f, in obex_set_alt()
229 dev_dbg(&cdev->gadget->dev, in obex_set_alt()
257 dev_dbg(&cdev->gadget->dev, "obex ttyGS%d disable\n", obex->port_num); in obex_disable()
271 dev_dbg(&cdev->gadget->dev, in obex_connect()
284 dev_dbg(&cdev->gadget->dev, in obex_disconnect()
299 if (!gadget_is_altset_supported(c->cdev->gadget)) in can_support_obex()
[all …]
Df_acm.c315 dev_dbg(&cdev->gadget->dev, "acm ttyGS%d completion, err %d\n", in acm_complete_set_line_coding()
322 dev_dbg(&cdev->gadget->dev, "acm ttyGS%d short resp, len %d\n", in acm_complete_set_line_coding()
367 cdev->gadget->ep0->driver_data = acm; in acm_setup()
399 dev_vdbg(&cdev->gadget->dev, in acm_setup()
407 dev_dbg(&cdev->gadget->dev, in acm_setup()
413 value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in acm_setup()
431 dev_vdbg(&cdev->gadget->dev, in acm_set_alt()
436 if (config_ep_by_speed(cdev->gadget, f, acm->notify)) in acm_set_alt()
443 dev_dbg(&cdev->gadget->dev, in acm_set_alt()
448 dev_dbg(&cdev->gadget->dev, in acm_set_alt()
[all …]
Df_serial.c157 dev_dbg(&cdev->gadget->dev, in gser_set_alt()
162 dev_dbg(&cdev->gadget->dev, in gser_set_alt()
164 if (config_ep_by_speed(cdev->gadget, f, gser->port.in) || in gser_set_alt()
165 config_ep_by_speed(cdev->gadget, f, gser->port.out)) { in gser_set_alt()
180 dev_dbg(&cdev->gadget->dev, in gser_disable()
218 ep = usb_ep_autoconfig(cdev->gadget, &gser_fs_in_desc); in gser_bind()
223 ep = usb_ep_autoconfig(cdev->gadget, &gser_fs_out_desc); in gser_bind()
242 dev_dbg(&cdev->gadget->dev, "generic ttyGS%d: %s speed IN/%s OUT/%s\n", in gser_bind()
244 gadget_is_superspeed(c->cdev->gadget) ? "super" : in gser_bind()
245 gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full", in gser_bind()
Df_ecm.c417 data[0] = cpu_to_le32(ecm_bitrate(cdev->gadget)); in ecm_do_notify()
420 DBG(cdev, "notify speed %d\n", ecm_bitrate(cdev->gadget)); in ecm_do_notify()
522 value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in ecm_setup()
548 if (config_ep_by_speed(cdev->gadget, f, ecm->notify)) in ecm_set_alt()
566 if (config_ep_by_speed(cdev->gadget, f, in ecm_set_alt()
568 config_ep_by_speed(cdev->gadget, f, in ecm_set_alt()
586 gadget_is_zlp_supported(cdev->gadget); in ecm_set_alt()
690 if (!can_support_ecm(cdev->gadget)) in ecm_bind()
704 gether_set_gadget(ecm_opts->net, cdev->gadget); in ecm_bind()
743 ep = usb_ep_autoconfig(cdev->gadget, &fs_ecm_in_desc); in ecm_bind()
[all …]
Df_uvc.c305 if (config_ep_by_speed(cdev->gadget, f, uvc->control_ep)) in uvc_function_set_alt()
313 uvc_event->speed = cdev->gadget->speed; in uvc_function_set_alt()
355 ret = config_ep_by_speed(f->config->cdev->gadget, in uvc_function_set_alt()
429 strlcpy(uvc->vdev.name, cdev->gadget->name, sizeof(uvc->vdev.name)); in uvc_register_video()
631 ep = usb_ep_autoconfig(cdev->gadget, &uvc_control_ep); in uvc_function_bind()
638 if (gadget_is_superspeed(c->cdev->gadget)) in uvc_function_bind()
639 ep = usb_ep_autoconfig_ss(cdev->gadget, &uvc_ss_streaming_ep, in uvc_function_bind()
641 else if (gadget_is_dualspeed(cdev->gadget)) in uvc_function_bind()
642 ep = usb_ep_autoconfig(cdev->gadget, &uvc_hs_streaming_ep); in uvc_function_bind()
644 ep = usb_ep_autoconfig(cdev->gadget, &uvc_fs_streaming_ep); in uvc_function_bind()
[all …]
Df_subset.c271 if (config_ep_by_speed(cdev->gadget, f, geth->port.in_ep) || in geth_set_alt()
272 config_ep_by_speed(cdev->gadget, f, geth->port.out_ep)) { in geth_set_alt()
317 gether_set_gadget(gether_opts->net, cdev->gadget); in geth_bind()
342 ep = usb_ep_autoconfig(cdev->gadget, &fs_subset_in_desc); in geth_bind()
347 ep = usb_ep_autoconfig(cdev->gadget, &fs_subset_out_desc); in geth_bind()
375 gadget_is_superspeed(c->cdev->gadget) ? "super" : in geth_bind()
376 gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full", in geth_bind()
Df_phonet.c405 struct usb_gadget *gadget = fp->function.config->cdev->gadget; in pn_set_alt() local
427 if (config_ep_by_speed(gadget, f, fp->in_ep) || in pn_set_alt()
428 config_ep_by_speed(gadget, f, fp->out_ep)) { in pn_set_alt()
489 struct usb_gadget *gadget = cdev->gadget; in pn_bind() local
506 gphonet_set_gadget(phonet_opts->net, gadget); in pn_bind()
529 ep = usb_ep_autoconfig(gadget, &pn_fs_sink_desc); in pn_bind()
534 ep = usb_ep_autoconfig(gadget, &pn_fs_source_desc); in pn_bind()
567 INFO(cdev, "using %s, OUT %s, IN %s\n", cdev->gadget->name, in pn_bind()
Du_ether.c63 struct usb_gadget *gadget; member
96 static inline int qlen(struct usb_gadget *gadget, unsigned qmult) in qlen() argument
98 if (gadget_is_dualspeed(gadget) && (gadget->speed == USB_SPEED_HIGH || in qlen()
99 gadget->speed == USB_SPEED_SUPER)) in qlen()
169 strlcpy(p->fw_version, dev->gadget->name, sizeof(p->fw_version)); in eth_get_drvinfo()
170 strlcpy(p->bus_info, dev_name(&dev->gadget->dev), sizeof(p->bus_info)); in eth_get_drvinfo()
598 if (gadget_is_dualspeed(dev->gadget)) in eth_start_xmit()
599 req->no_interrupt = (dev->gadget->speed == USB_SPEED_HIGH || in eth_start_xmit()
600 dev->gadget->speed == USB_SPEED_SUPER) in eth_start_xmit()
808 dev->gadget = g; in gether_setup_name()
[all …]
Df_rndis.c528 value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in rndis_setup()
551 if (config_ep_by_speed(cdev->gadget, f, rndis->notify)) in rndis_set_alt()
566 if (config_ep_by_speed(cdev->gadget, f, in rndis_set_alt()
568 config_ep_by_speed(cdev->gadget, f, in rndis_set_alt()
641 bitrate(cdev->gadget) / 100); in rndis_open()
699 gether_set_gadget(rndis_opts->net, cdev->gadget); in rndis_bind()
741 ep = usb_ep_autoconfig(cdev->gadget, &fs_in_desc); in rndis_bind()
746 ep = usb_ep_autoconfig(cdev->gadget, &fs_out_desc); in rndis_bind()
755 ep = usb_ep_autoconfig(cdev->gadget, &fs_notify_desc); in rndis_bind()
809 gadget_is_superspeed(c->cdev->gadget) ? "super" : in rndis_bind()
[all …]
Df_eem.c203 if (config_ep_by_speed(cdev->gadget, f, in eem_set_alt()
205 config_ep_by_speed(cdev->gadget, f, in eem_set_alt()
265 gether_set_gadget(eem_opts->net, cdev->gadget); in eem_bind()
289 ep = usb_ep_autoconfig(cdev->gadget, &eem_fs_in_desc); in eem_bind()
294 ep = usb_ep_autoconfig(cdev->gadget, &eem_fs_out_desc); in eem_bind()
317 gadget_is_superspeed(c->cdev->gadget) ? "super" : in eem_bind()
318 gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full", in eem_bind()
Df_sourcesink.c349 ss->in_ep = usb_ep_autoconfig(cdev->gadget, &fs_source_desc); in sourcesink_bind()
353 f->name, cdev->gadget->name); in sourcesink_bind()
357 ss->out_ep = usb_ep_autoconfig(cdev->gadget, &fs_sink_desc); in sourcesink_bind()
380 ss->iso_in_ep = usb_ep_autoconfig(cdev->gadget, &fs_iso_source_desc); in sourcesink_bind()
384 ss->iso_out_ep = usb_ep_autoconfig(cdev->gadget, &fs_iso_sink_desc); in sourcesink_bind()
456 (gadget_is_superspeed(c->cdev->gadget) ? "super" : in sourcesink_bind()
457 (gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full")), in sourcesink_bind()
665 int speed = cdev->gadget->speed; in enable_source_sink()
670 result = config_ep_by_speed(cdev->gadget, &(ss->function), ep); in enable_source_sink()
688 result = config_ep_by_speed(cdev->gadget, &(ss->function), ep); in enable_source_sink()
[all …]
Df_printer.c69 struct usb_gadget *gadget; member
217 static inline struct usb_endpoint_descriptor *ep_desc(struct usb_gadget *gadget, in ep_desc() argument
222 switch (gadget->speed) { in ep_desc()
772 dev->in_ep->desc = ep_desc(dev->gadget, &fs_ep_in_desc, &hs_ep_in_desc, in set_printer_interface()
776 dev->out_ep->desc = ep_desc(dev->gadget, &fs_ep_out_desc, in set_printer_interface()
1002 value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in printer_func_setup()
1014 struct usb_gadget *gadget = c->cdev->gadget; in printer_func_bind() local
1032 dev->gadget = gadget; in printer_func_bind()
1035 in_ep = usb_ep_autoconfig(cdev->gadget, &fs_ep_in_desc); in printer_func_bind()
1038 dev_err(&cdev->gadget->dev, "can't autoconfigure on %s\n", in printer_func_bind()
[all …]
Du_ether.h258 static inline bool can_support_ecm(struct usb_gadget *gadget) in can_support_ecm() argument
260 if (!gadget_is_altset_supported(gadget)) in can_support_ecm()
DMakefile5 ccflags-y := -I$(srctree)/drivers/usb/gadget/
6 ccflags-y += -I$(srctree)/drivers/usb/gadget/udc/
Df_loopback.c191 loop->in_ep = usb_ep_autoconfig(cdev->gadget, &fs_loop_source_desc); in loopback_bind()
195 f->name, cdev->gadget->name); in loopback_bind()
199 loop->out_ep = usb_ep_autoconfig(cdev->gadget, &fs_loop_sink_desc); in loopback_bind()
219 (gadget_is_superspeed(c->cdev->gadget) ? "super" : in loopback_bind()
220 (gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full")), in loopback_bind()
371 result = config_ep_by_speed(cdev->gadget, &(loop->function), ep); in enable_endpoint()
Df_fs.c67 struct usb_gadget *gadget; member
227 ret = usb_ep_queue(ffs->gadget->ep0, req, GFP_ATOMIC); in __ffs_ep0_queue_wait()
233 usb_ep_dequeue(ffs->gadget->ep0, req); in __ffs_ep0_queue_wait()
245 usb_ep_set_halt(ffs->gadget->ep0); in __ffs_ep0_stall()
561 struct usb_gadget *gadget = ffs->gadget; in ffs_ep0_ioctl() local
569 } else if (gadget && gadget->ops->ioctl) { in ffs_ep0_ioctl()
570 ret = gadget->ops->ioctl(gadget, code, value); in ffs_ep0_ioctl()
725 struct usb_gadget *gadget = epfile->ffs->gadget; in ffs_epfile_io() local
740 data_len = usb_ep_align_maybe(gadget, ep->ep, data_len); in ffs_epfile_io()
1031 switch (epfile->ffs->gadget->speed) { in ffs_epfile_ioctl()
[all …]
Df_ncm.c513 data[0] = cpu_to_le32(ncm_bitrate(cdev->gadget)); in ncm_do_notify()
516 DBG(cdev, "notify speed %d\n", ncm_bitrate(cdev->gadget)); in ncm_do_notify()
784 value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in ncm_setup()
811 if (config_ep_by_speed(cdev->gadget, f, ncm->notify)) in ncm_set_alt()
839 if (config_ep_by_speed(cdev->gadget, f, in ncm_set_alt()
841 config_ep_by_speed(cdev->gadget, f, in ncm_set_alt()
854 gadget_is_zlp_supported(cdev->gadget); in ncm_set_alt()
1345 if (!can_support_ecm(cdev->gadget)) in ncm_bind()
1358 gether_set_gadget(ncm_opts->net, cdev->gadget); in ncm_bind()
1397 ep = usb_ep_autoconfig(cdev->gadget, &fs_ncm_in_desc); in ncm_bind()
[all …]
Duvc_v4l2.c42 return usb_ep_set_halt(cdev->gadget->ep0); in uvc_send_response()
49 return usb_ep_queue(cdev->gadget->ep0, req, GFP_KERNEL); in uvc_send_response()
75 strlcpy(cap->card, cdev->gadget->name, sizeof(cap->card)); in uvc_v4l2_querycap()
76 strlcpy(cap->bus_info, dev_name(&cdev->gadget->dev), in uvc_v4l2_querycap()
Df_midi.c74 struct usb_gadget *gadget; member
307 err = config_ep_by_speed(midi->gadget, f, ep); in f_midi_start_ep()
345 err = config_ep_by_speed(midi->gadget, f, midi->out_ep); in f_midi_set_alt()
663 err = snd_card_new(&midi->gadget->dev, midi->index, midi->id, in f_midi_register_card()
732 midi->gadget = cdev->gadget; in f_midi_bind()
762 midi->in_ep = usb_ep_autoconfig(cdev->gadget, &bulk_in_desc); in f_midi_bind()
766 midi->out_ep = usb_ep_autoconfig(cdev->gadget, &bulk_out_desc); in f_midi_bind()
877 if (gadget_is_dualspeed(c->cdev->gadget)) { in f_midi_bind()
Du_uac1.h49 struct usb_gadget *gadget; member
Df_mass_storage.c259 struct usb_gadget *gadget; member
325 struct usb_gadget *gadget; /* Copy of cdev->gadget */ member
2280 rc = config_ep_by_speed(common->gadget, &(fsg->function), fsg->bulk_in); in do_set_interface()
2289 rc = config_ep_by_speed(common->gadget, &(fsg->function), in do_set_interface()
2798 common->gadget = cdev->gadget; in fsg_common_set_cdev()
2799 common->ep0 = cdev->gadget->ep0; in fsg_common_set_cdev()
2816 gadget_is_stall_supported(common->gadget); in fsg_common_set_cdev()
2887 lun->dev.parent = &common->gadget->dev; in fsg_common_create_lun()
3014 struct usb_gadget *gadget = c->cdev->gadget; in fsg_bind() local
3052 fsg->gadget = gadget; in fsg_bind()
[all …]
Df_uac2.c1007 struct usb_gadget *gadget = cdev->gadget; in afunc_bind() local
1079 agdev->out_ep = usb_ep_autoconfig(gadget, &fs_epout_desc); in afunc_bind()
1085 agdev->in_ep = usb_ep_autoconfig(gadget, &fs_epin_desc); in afunc_bind()
1142 struct usb_gadget *gadget = cdev->gadget; in afunc_set_alt() local
1167 config_ep_by_speed(gadget, fn, ep); in afunc_set_alt()
1177 config_ep_by_speed(gadget, fn, ep); in afunc_set_alt()
1181 if (gadget->speed == USB_SPEED_FULL) { in afunc_set_alt()
1425 value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in afunc_setup()
Du_fs.h151 struct usb_gadget *gadget; member
Df_uac1.c563 value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in f_audio_setup()
591 err = config_ep_by_speed(cdev->gadget, f, out_ep); in f_audio_set_alt()
678 audio->card.gadget = c->cdev->gadget; in f_audio_bind()
715 ep = usb_ep_autoconfig(cdev->gadget, &as_out_ep_desc); in f_audio_bind()
Df_hid.c483 status = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC); in hidg_setup()
515 status = config_ep_by_speed(f->config->cdev->gadget, f, in hidg_set_alt()
534 status = config_ep_by_speed(f->config->cdev->gadget, f, in hidg_set_alt()
608 ep = usb_ep_autoconfig(c->cdev->gadget, &hidg_fs_in_ep_desc); in hidg_bind()
613 ep = usb_ep_autoconfig(c->cdev->gadget, &hidg_fs_out_ep_desc); in hidg_bind()
/linux-4.4.14/Documentation/devicetree/bindings/usb/
Ddwc2.txt23 - g-use-dma: enable dma usage in gadget driver.
24 - g-rx-fifo-size: size of rx fifo size in gadget mode.
25 - g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
26 - g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
Datmel-usb.txt69 usb1: gadget@fffa4000 {
105 usb2: gadget@fff78000 {
/linux-4.4.14/drivers/usb/dwc3/
Dgadget.c265 usb_gadget_unmap_request(&dwc->gadget, &req->request, in dwc3_gadget_giveback()
469 if (dwc->gadget.speed == USB_SPEED_SUPER) { in dwc3_gadget_set_ep_config()
1033 usb_gadget_unmap_request(&dwc->gadget, &req->request, in __dwc3_gadget_kick_transfer()
1104 ret = usb_gadget_map_request(&dwc->gadget, &req->request, in __dwc3_gadget_ep_queue()
1600 dwc->gadget.name, in dwc3_gadget_start()
1752 dwc->gadget.ep0 = &dep->endpoint; in dwc3_gadget_init_hw_endpoints()
1760 &dwc->gadget.ep_list); in dwc3_gadget_init_hw_endpoints()
1789 INIT_LIST_HEAD(&dwc->gadget.ep_list); in dwc3_gadget_init_endpoints()
2108 dwc->gadget_driver->disconnect(&dwc->gadget); in dwc3_disconnect_gadget()
2117 dwc->gadget_driver->suspend(&dwc->gadget); in dwc3_suspend_gadget()
[all …]
Dep0.c165 usb_gadget_set_state(&dwc->gadget, USB_STATE_CONFIGURED); in __dwc3_gadget_ep0_queue()
357 usb_status |= dwc->gadget.is_selfpowered; in dwc3_ep0_handle_status()
414 state = dwc->gadget.state; in dwc3_ep0_handle_feature()
512 enum usb_device_state state = dwc->gadget.state; in dwc3_ep0_set_address()
534 usb_gadget_set_state(&dwc->gadget, USB_STATE_ADDRESS); in dwc3_ep0_set_address()
536 usb_gadget_set_state(&dwc->gadget, USB_STATE_DEFAULT); in dwc3_ep0_set_address()
546 ret = dwc->gadget_driver->setup(&dwc->gadget, ctrl); in dwc3_ep0_delegate_req()
553 enum usb_device_state state = dwc->gadget.state; in dwc3_ep0_set_config()
576 usb_gadget_set_state(&dwc->gadget, in dwc3_ep0_set_config()
595 usb_gadget_set_state(&dwc->gadget, in dwc3_ep0_set_config()
[all …]
DKconfig32 thereby the gadget feature will be regressed.
38 Select this when you want to use DWC3 in gadget mode only,
46 both host and gadget features are enabled.
DMakefile13 dwc3-y += gadget.o ep0.o
Dgadget.h28 #define gadget_to_dwc(g) (container_of(g, struct dwc3, gadget))
/linux-4.4.14/drivers/usb/dwc2/
Dgadget.c48 static inline struct dwc2_hsotg *to_hsotg(struct usb_gadget *gadget) in to_hsotg() argument
50 return container_of(gadget, struct dwc2_hsotg, gadget); in to_hsotg()
292 usb_gadget_unmap_request(&hsotg->gadget, req, hs_ep->dir_in); in dwc2_hsotg_unmap_dma()
710 ret = usb_gadget_map_request(&hsotg->gadget, req, hs_ep->dir_in); in dwc2_hsotg_map_dma()
1251 ret = hsotg->driver->setup(&hsotg->gadget, ctrl); in dwc2_hsotg_process_control()
2101 hsotg->gadget.speed = USB_SPEED_FULL; in dwc2_hsotg_irq_enumdone()
2107 hsotg->gadget.speed = USB_SPEED_HIGH; in dwc2_hsotg_irq_enumdone()
2113 hsotg->gadget.speed = USB_SPEED_LOW; in dwc2_hsotg_irq_enumdone()
2122 usb_speed_string(hsotg->gadget.speed)); in dwc2_hsotg_irq_enumdone()
3123 static int dwc2_hsotg_udc_start(struct usb_gadget *gadget, in dwc2_hsotg_udc_start() argument
[all …]
DKconfig13 dwc2_platform.ko. For all modes(host, gadget and dual-role), there
38 The Designware USB2.0 high-speed gadget controller
48 mode. In this mode both host and gadget features are enabled, and
DMakefile13 dwc2-y += gadget.o
Dcore.h189 if ((_hs)->gadget.speed != USB_SPEED_UNKNOWN && \
192 (_hs)->driver->_entry(&(_hs)->gadget); \
833 struct usb_gadget gadget; member
/linux-4.4.14/drivers/phy/
Dphy-dm816x-usb.c72 struct usb_gadget *gadget) in dm816x_usb_phy_set_peripheral() argument
74 otg->gadget = gadget; in dm816x_usb_phy_set_peripheral()
75 if (!gadget) in dm816x_usb_phy_set_peripheral()
Dphy-omap-usb2.c91 struct usb_gadget *gadget) in omap_usb_set_peripheral() argument
93 otg->gadget = gadget; in omap_usb_set_peripheral()
94 if (!gadget) in omap_usb_set_peripheral()
Dphy-twl4030-usb.c606 struct usb_gadget *gadget) in twl4030_set_peripheral() argument
611 otg->gadget = gadget; in twl4030_set_peripheral()
612 if (!gadget) in twl4030_set_peripheral()
/linux-4.4.14/drivers/power/
Disp1704_charger.c271 if (isp->phy->otg->gadget) in isp1704_charger_work()
272 usb_gadget_connect(isp->phy->otg->gadget); in isp1704_charger_work()
301 if (isp->phy->otg->gadget) in isp1704_charger_work()
302 usb_gadget_disconnect(isp->phy->otg->gadget); in isp1704_charger_work()
493 if (isp->phy->otg->gadget) in isp1704_charger_probe()
494 usb_gadget_disconnect(isp->phy->otg->gadget); in isp1704_charger_probe()
/linux-4.4.14/drivers/staging/emxx_udc/
Demxx_udc.c484 udc->gadget.dev.parent, in _nbu2ss_dma_map_single()
494 udc->gadget.dev.parent, in _nbu2ss_dma_map_single()
531 dma_unmap_single(udc->gadget.dev.parent, in _nbu2ss_dma_unmap_single()
540 dma_sync_single_for_cpu(udc->gadget.dev.parent, in _nbu2ss_dma_unmap_single()
1600 if (udc->gadget.is_selfpowered) in std_req_get_status()
1770 nret = udc->driver->setup(&udc->gadget, &udc->ctrl); in _nbu2ss_decode_request()
1882 if (udc->gadget.speed == USB_SPEED_UNKNOWN) in _nbu2ss_ep0_int()
1883 udc->gadget.speed = _nbu2ss_get_speed(udc); in _nbu2ss_ep0_int()
2220 udc->gadget.speed = USB_SPEED_UNKNOWN; in _nbu2ss_quiesce()
2225 list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) { in _nbu2ss_quiesce()
[all …]
DTODO4 * move driver into drivers/usb/gadget/
DKconfig10 gadget drivers to also be dynamically linked.
/linux-4.4.14/drivers/usb/
DREADME6 "gadget.pdf" for peripheral side.) Also, Documentation/usb has
33 gadget/ - This is for USB peripheral controller drivers and
34 the various gadget drivers which talk to them.
DKconfig152 source "drivers/usb/gadget/Kconfig"
158 This option adds LED triggers for USB host and/or gadget activity.
162 gadget.
DMakefile59 obj-$(CONFIG_USB_GADGET) += gadget/
/linux-4.4.14/drivers/usb/musb/
DKconfig43 thereby the gadget feature will be regressed.
50 Select this when you want to use MUSB in gadget mode only,
59 both host and gadget features are enabled.
Dmusb_gadget.c1532 static int musb_gadget_get_frame(struct usb_gadget *gadget) in musb_gadget_get_frame() argument
1534 struct musb *musb = gadget_to_musb(gadget); in musb_gadget_get_frame()
1539 static int musb_gadget_wakeup(struct usb_gadget *gadget) in musb_gadget_wakeup() argument
1541 struct musb *musb = gadget_to_musb(gadget); in musb_gadget_wakeup()
1614 musb_gadget_set_self_powered(struct usb_gadget *gadget, int is_selfpowered) in musb_gadget_set_self_powered() argument
1616 gadget->is_selfpowered = !!is_selfpowered; in musb_gadget_set_self_powered()
1638 static int musb_gadget_vbus_session(struct usb_gadget *gadget, int is_active)
1651 static int musb_gadget_vbus_draw(struct usb_gadget *gadget, unsigned mA) in musb_gadget_vbus_draw() argument
1653 struct musb *musb = gadget_to_musb(gadget); in musb_gadget_vbus_draw()
1660 static int musb_gadget_pullup(struct usb_gadget *gadget, int is_on) in musb_gadget_pullup() argument
[all …]
/linux-4.4.14/arch/arm/boot/dts/
Devk-pro3.dts39 usb1: gadget@fffa4000 {
Dat91-ariettag25.dts48 usb2: gadget@f803c000 {
Dethernut5.dts52 usb1: gadget@fffa4000 {
Dat91-cosino_mega2560.dts47 usb2: gadget@f803c000 {
Dtny_a9263.dts48 usb1: gadget@fff78000 {
Dusb_a9260_common.dtsi40 usb1: gadget@fffa4000 {
Dat91rm9200ek.dts35 usb1: gadget@fffb0000 {
Daks-cdu.dts54 usb1: gadget@fffa4000 {
Dusb_a9263.dts53 usb1: gadget@fff78000 {
Dat91-foxg20.dts46 usb1: gadget@fffa4000 {
Dat91-qil_a9260.dts43 usb1: gadget@fffa4000 {
Dat91sam9g20ek_common.dtsi74 usb1: gadget@fffa4000 {
Dat91sam9rlek.dts140 usb0: gadget@fffd4000 {
Dat91sam9263ek.dts53 usb1: gadget@fff78000 {
Dat91sam9261ek.dts109 usb1: gadget@fffa4000 {
Dat91sam9x5ek.dtsi56 usb2: gadget@f803c000 {
Dqcom-apq8064-cm-qs600.dts157 gadget1: gadget@12500000 {
Dsama5d3xmb.dtsi181 usb0: gadget@00500000 {
Dqcom-apq8064-ifc6410.dts217 gadget1: gadget@12500000 {
Dat91sam9n12ek.dts134 usb1: gadget@f803c000 {
/linux-4.4.14/drivers/usb/common/
Dusb-otg-fsm.c265 else if (fsm->b_sess_vld && fsm->otg->gadget) in otg_statemachine()
279 gadget->b_hnp_enable && fsm->a_bus_suspend) in otg_statemachine()
/linux-4.4.14/Documentation/misc-devices/
Dspear-pcie-gadget.txt20 PCIe gadget support for SPEAr13XX platform
97 It will have to be insured that, once link up is done on gadget, then only host
/linux-4.4.14/Documentation/
DSM501.txt7 which may provide numerous interfaces including USB host controller USB gadget,

12