Lines Matching refs:gadget
33 static inline struct isp1760_udc *gadget_to_udc(struct usb_gadget *gadget)
35 return container_of(gadget, struct isp1760_udc, gadget);
141 * calling the request complete callback. This gives the gadget an
220 * any gadget driver either.
429 * TODO: Does the gadget framework require synchronizatino with
501 if (udc->gadget.state != USB_STATE_DEFAULT &&
502 udc->gadget.state != USB_STATE_ADDRESS) {
504 udc->gadget.state);
508 usb_gadget_set_state(&udc->gadget, addr ? USB_STATE_ADDRESS :
551 * If the endpoint is wedged only the gadget can clear
618 if (udc->gadget.state != USB_STATE_ADDRESS &&
619 udc->gadget.state != USB_STATE_CONFIGURED)
622 stall = udc->driver->setup(&udc->gadget, req) < 0;
626 usb_gadget_set_state(&udc->gadget, req->wValue ?
632 * explicitly here as the gadget driver will disable and
638 return udc->driver->setup(&udc->gadget, req) < 0;
697 stall = udc->driver->setup(&udc->gadget, &req.r) < 0;
942 * stage and that the gadget isn't trying to clear the halt
1059 usb_gadget_set_state(&udc->gadget, USB_STATE_POWERED);
1066 if (udc->gadget.state < USB_STATE_POWERED)
1070 udc->gadget.state);
1072 udc->gadget.speed = USB_SPEED_UNKNOWN;
1073 usb_gadget_set_state(&udc->gadget, USB_STATE_ATTACHED);
1076 udc->driver->disconnect(&udc->gadget);
1122 udc->gadget.speed = USB_SPEED_FULL;
1124 usb_gadget_udc_reset(&udc->gadget, udc->driver);
1131 if (udc->gadget.state < USB_STATE_DEFAULT)
1135 udc->driver->suspend(&udc->gadget);
1140 if (udc->gadget.state < USB_STATE_DEFAULT)
1144 udc->driver->resume(&udc->gadget);
1151 static int isp1760_udc_get_frame(struct usb_gadget *gadget)
1153 struct isp1760_udc *udc = gadget_to_udc(gadget);
1158 static int isp1760_udc_wakeup(struct usb_gadget *gadget)
1160 struct isp1760_udc *udc = gadget_to_udc(gadget);
1166 static int isp1760_udc_set_selfpowered(struct usb_gadget *gadget,
1169 struct isp1760_udc *udc = gadget_to_udc(gadget);
1179 static int isp1760_udc_pullup(struct usb_gadget *gadget, int is_on)
1181 struct isp1760_udc *udc = gadget_to_udc(gadget);
1189 static int isp1760_udc_start(struct usb_gadget *gadget,
1192 struct isp1760_udc *udc = gadget_to_udc(gadget);
1197 dev_err(udc->isp->dev, "Invalid gadget driver\n");
1204 dev_err(udc->isp->dev, "UDC already has a gadget driver\n");
1219 usb_gadget_set_state(&udc->gadget, USB_STATE_ATTACHED);
1232 static int isp1760_udc_stop(struct usb_gadget *gadget)
1234 struct isp1760_udc *udc = gadget_to_udc(gadget);
1325 udc->gadget.speed = USB_SPEED_HIGH;
1340 else if (udc->gadget.state >= USB_STATE_POWERED)
1355 INIT_LIST_HEAD(&udc->gadget.ep_list);
1387 udc->gadget.ep0 = &ep->ep;
1394 list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
1469 * Initialize the gadget static fields and register its device. Gadget
1470 * fields that vary during the life time of the gadget are initialized
1473 udc->gadget.ops = &isp1760_udc_ops;
1474 udc->gadget.speed = USB_SPEED_UNKNOWN;
1475 udc->gadget.max_speed = USB_SPEED_HIGH;
1476 udc->gadget.name = "isp1761_udc";
1480 ret = usb_add_gadget_udc(isp->dev, &udc->gadget);
1501 usb_del_gadget_udc(&udc->gadget);