Lines Matching full:driver

28  * @driver - the gadget driver pointer. For use by the class code
31 * @list - for use by the udc class driver
34 * to hold information about udc driver and gadget together.
37 struct usb_gadget_driver *driver; member
103 * @driver: The gadget driver we want to notify
105 * If the udc driver has bus reset handler, it needs to call this when the bus
106 * reset occurs, it notifies the gadget driver that the bus reset occurs as
110 struct usb_gadget_driver *driver) in usb_gadget_udc_reset() argument
112 driver->reset(gadget); in usb_gadget_udc_reset()
121 * This call is issued by the UDC Class driver when it's about
122 * to register a gadget driver to the device controller, before
123 * calling gadget driver's bind() method.
132 return udc->gadget->ops->udc_start(udc->gadget, udc->driver); in usb_gadget_udc_start()
138 * @driver: The driver to unbind from @gadget
140 * This call is issued by the UDC Class driver after calling
141 * gadget driver's unbind() method.
156 * This is called by driver's core in order to free memory once the last
168 * usb_add_gadget_udc_release - adds a new gadget to the udc class driver list
169 * @parent: the parent device to this udc. Usually the controller driver's
210 * usb_add_gadget_udc - adds a new gadget to the udc class driver list
212 * driver's device.
225 dev_dbg(&udc->dev, "unregistering UDC driver [%s]\n", in usb_gadget_remove_driver()
226 udc->driver->function); in usb_gadget_remove_driver()
229 udc->driver->disconnect(udc->gadget); in usb_gadget_remove_driver()
230 udc->driver->unbind(udc->gadget); in usb_gadget_remove_driver()
233 udc->driver = NULL; in usb_gadget_remove_driver()
263 if (udc->driver) in usb_del_gadget_udc()
270 static int udc_bind_to_driver(struct usb_udc *udc, struct usb_gadget_driver *driver) in udc_bind_to_driver() argument
274 dev_dbg(&udc->dev, "registering UDC driver [%s]\n", in udc_bind_to_driver()
275 driver->function); in udc_bind_to_driver()
277 udc->driver = driver; in udc_bind_to_driver()
279 ret = driver->bind(udc->gadget); in udc_bind_to_driver()
284 driver->unbind(udc->gadget); in udc_bind_to_driver()
293 udc->driver->function, ret); in udc_bind_to_driver()
294 udc->driver = NULL; in udc_bind_to_driver()
298 int usb_gadget_probe_driver(struct usb_gadget_driver *driver) in usb_gadget_probe_driver() argument
303 if (!driver || !driver->bind || !driver->setup) in usb_gadget_probe_driver()
309 if (!udc->driver) in usb_gadget_probe_driver()
317 ret = udc_bind_to_driver(udc, driver); in usb_gadget_probe_driver()
323 int usb_gadget_register_driver(struct usb_gadget_driver *driver) in usb_gadget_register_driver() argument
325 return usb_gadget_probe_driver(driver); in usb_gadget_register_driver()
329 int usb_gadget_unregister_driver(struct usb_gadget_driver *driver) in usb_gadget_unregister_driver() argument
334 if (!driver || !driver->unbind) in usb_gadget_unregister_driver()
339 if (udc->driver == driver) { in usb_gadget_unregister_driver()