1. 23 10月, 2010 2 次提交
  2. 24 8月, 2010 1 次提交
  3. 11 8月, 2010 2 次提交
  4. 21 5月, 2010 1 次提交
  5. 12 12月, 2009 1 次提交
  6. 16 6月, 2009 1 次提交
  7. 25 3月, 2009 1 次提交
  8. 18 10月, 2008 1 次提交
    • D
      usb gadget: function activation/deactivation · 60beed95
      David Brownell 提交于
      Add a new mechanism to the composite gadget framework, letting
      functions deactivate (and reactivate) themselves.  Think of it
      as a refcounted wrapper for the software pullup control.
      
      A key example of why to use this mechanism involves functions that
      require a userspace daemon.  Those functions shuld use this new
      mechanism to prevent the gadget from enumerating until those daemons
      are activated.  Without this mechanism, hosts would see devices that
      malfunction until the relevant daemons start.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      60beed95
  9. 26 7月, 2008 1 次提交
  10. 22 7月, 2008 1 次提交
    • D
      usb gadget: composite gadget core · 40982be5
      David Brownell 提交于
      Add <linux/usb/composite.h> interfaces for composite gadget drivers, and
      basic implementation support behind it:
      
        - struct usb_function ... groups one or more interfaces into a function
          managed as one unit within a configuration, to which it's added by
          usb_add_function().
      
        - struct usb_configuration ... groups one or more such functions into
          a configuration managed as one unit by a driver, to which it's added
          by usb_add_config().  These operate at either high or full/low speeds
          and at a given bMaxPower.
      
        - struct usb_composite_driver ... groups one or more such configurations
          into a gadget driver, which may be registered or unregistered.
      
        - struct usb_composite_dev ... a usb_composite_driver manages this; it
          wraps the usb_gadget exposed by the controller driver.
      
      This also includes some basic kerneldoc.
      
      How to use it (the short version):  provide a usb_composite_driver with a
      bind() that calls usb_add_config() for each of the needed configurations.
      The configurations in turn have bind() calls, which will usb_add_function()
      for each function required.  Each function's bind() allocates resources
      needed to perform its tasks, like endpoints; sometimes configurations will
      allocate resources too.
      
      Separate patches will convert most gadget drivers to this infrastructure.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      40982be5