Lines Matching defs:driver

6  * driver, except for the hardware-specific bus glue.  One USB host can
67 * @list: For use by the gadget driver.
74 * or when the driver disabled the endpoint.
84 * hardware's driver can add extra per-request data to the memory it returns,
212 * endpoint. It's set once by UDC driver when endpoint is initialized, and
218 * @driver_data:for use by the gadget driver.
227 * the bus controller driver lists all the general purpose endpoints in
229 * and is accessed only in response to a driver setup() callback.
357 * driver setup() requests
377 * gadget driver must provide a USB OTG descriptor.
406 * Gadgets have a mostly-portable "gadget driver" implementing device
409 * That insulates the gadget driver from hardware details, and packages
413 * Except for the driver data, all fields in this structure are
414 * read-only to the gadget driver. That driver data is part of the
415 * "driver model" infrastructure in 2.6 (and later) kernels, and for
421 * driver suspend() calls. They are valid only when is_otg, and when the
427 /* readonly to gadget driver */
664 * struct usb_gadget_driver - driver for usb gadget devices
666 * @max_speed: Highest speed the driver handles.
668 * the hardware level driver. Most calls must be handled by
669 * the gadget driver, including descriptor and configuration
677 * @bind: the driver's bind callback
678 * @unbind: Invoked when the driver is unbound from a gadget,
685 * @driver: Driver model state for this driver.
686 * @udc_name: A name of UDC this driver should be bound to. If udc_name is NULL,
687 * this driver will be bound to any available UDC.
688 * @pending: UDC core private data used for deferred probe of this driver.
690 * gadget driver to list of pending driver
692 * Devices are disabled till a gadget driver successfully bind()s, which
693 * means the driver will handle setup() requests needed to enumerate (and
696 * If gadget->is_otg is true, the gadget driver must provide an OTG
706 * Except for ep0 implementation, most driver code shouldn't need change to
710 * The usb controller driver handles a few standard usb requests. Those
714 * Accordingly, the driver's setup() callback must always implement all
720 * The driver's setup() callback must also implement set_configuration,
740 struct usb_gadget_driver *driver);
750 struct device_driver driver;
761 /* driver modules register and unregister, as usual.
765 * usb bus interface driver, which will only support a single driver.
769 * usb_gadget_probe_driver - probe a gadget driver
770 * @driver: the driver being registered
773 * Call this in your gadget driver's module initialization function,
774 * to tell the underlying usb controller driver about your driver.
779 int usb_gadget_probe_driver(struct usb_gadget_driver *driver);
782 * usb_gadget_unregister_driver - unregister a gadget driver
783 * @driver:the driver being unregistered
786 * Call this in your gadget driver's module cleanup function,
787 * to tell the underlying usb controller that your driver is
789 * it will first disconnect(). The driver is also requested
794 int usb_gadget_unregister_driver(struct usb_gadget_driver *driver);
911 struct usb_gadget_driver *driver);