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 [PATCH] DocBook: add .gitignore file 2006-01-10 08:01:52 -08:00
debugobjects.tmpl debugobjects: add documentation 2008-04-30 08:29:53 -07:00
deviceiobook.tmpl Add recommended section IDs to deviceiobook.tmpl 2007-10-17 08:43:07 -07:00
filesystems.tmpl docbook: move pipe and splice to filesystems docbook 2008-02-13 16:21:19 -08:00
gadget.tmpl usb gadget: composite gadget core 2008-07-21 15:16:01 -07:00
genericirq.tmpl Add missing section IDs to genericirq.tmpl 2008-02-07 08:42:16 -08:00
kernel-api.tmpl docbook: fix bitops fatal filename error 2008-04-28 10:26:51 -07:00
kernel-hacking.tmpl docbook/kernel-hacking: fixup x86 path/file names 2007-10-13 09:52:26 -07:00
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 [SCSI] libsas: fix scr_read/write users and update the libata documentation 2007-07-20 15:52:08 -05:00
librs.tmpl docbook: librs typo fixes 2007-05-08 11:15:15 -07:00
lsm.tmpl Add missing section ID to lsm.tmpl 2008-02-07 08:42:16 -08:00
mac80211.tmpl mac80211: add documentation book 2008-03-06 15:30:47 -05:00
Makefile debugobjects: add documentation 2008-04-30 08:29:53 -07:00
mcabook.tmpl docbook/mcabook: fixup x86 path/file names 2007-10-13 09:52:26 -07:00
mtdnand.tmpl Add section IDs to mtdnand.tmpl 2008-02-07 08:42:16 -08:00
networking.tmpl docbook: make a networking book and fix a few errors 2008-02-13 16:21:19 -08:00
procfs_example.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
procfs-guide.tmpl Add missing IDs to procfs-guide.tmpl 2008-02-07 08:42:17 -08:00
rapidio.tmpl docbook: fix fatal rapidio yet again (and more to come) 2008-04-29 20:40:00 -07:00
s390-drivers.tmpl [S390] cio: Update documentation. 2008-02-05 16:50:53 +01:00
scsi.tmpl [SCSI] update my email address 2008-02-07 18:02:42 -06:00
stylesheet.xsl [PATCH] DocBook/HTML: Generate chapter/section level TOCs for functions 2007-02-11 10:51:30 -08:00
uio-howto.tmpl UIO: fix up the UIO documentation 2007-11-28 13:53:53 -08:00
usb.tmpl USB: remove usb DocBook warnings 2007-05-22 23:45:48 -07:00
videobook.tmpl Add table IDs to videobook.tmpl 2008-02-07 08:42:17 -08:00
wanbook.tmpl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
writing_usb_driver.tmpl DOC: A couple corrections and clarifications in USB doc. 2008-04-21 22:57:50 +00:00
z8530book.tmpl Add chapter IDs to z8530book.tmpl 2008-02-07 08:42:17 -08:00