linux/Documentation/DocBook
David Brownell 40982be52d usb gadget: composite gadget core
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: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-07-21 15:16:01 -07:00
..
.gitignore
debugobjects.tmpl debugobjects: add documentation 2008-04-30 08:29:53 -07:00
deviceiobook.tmpl
filesystems.tmpl
gadget.tmpl usb gadget: composite gadget core 2008-07-21 15:16:01 -07:00
genericirq.tmpl
kernel-api.tmpl docbook: fix bitops fatal filename error 2008-04-28 10:26:51 -07:00
kernel-hacking.tmpl
kernel-locking.tmpl doc: add a chapter about trylock functions [Bug 9011] 2008-05-23 13:09:34 +10:00
kgdb.tmpl kgdb: documentation update - remove kgdboe 2008-06-24 10:52:55 -05:00
libata.tmpl
librs.tmpl
lsm.tmpl
mac80211.tmpl
Makefile debugobjects: add documentation 2008-04-30 08:29:53 -07:00
mcabook.tmpl
mtdnand.tmpl
networking.tmpl
procfs_example.c
procfs-guide.tmpl
rapidio.tmpl docbook: fix fatal rapidio yet again (and more to come) 2008-04-29 20:40:00 -07:00
s390-drivers.tmpl
scsi.tmpl
stylesheet.xsl
uio-howto.tmpl
usb.tmpl
videobook.tmpl
wanbook.tmpl
writing_usb_driver.tmpl DOC: A couple corrections and clarifications in USB doc. 2008-04-21 22:57:50 +00:00
z8530book.tmpl