Version:  2.0.40 2.2.26 2.4.37 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10


Back Parent directory
Folder atm/
Folder c67x00/
Folder chipidea/
Folder class/
Folder common/
Folder core/
Folder dwc2/
Folder dwc3/
Folder early/
Folder gadget/
Folder host/
Folder image/
Folder isp1760/
Folder misc/
Folder mon/
Folder mtu3/
Folder musb/
Folder phy/
Folder renesas_usbhs/
Folder serial/
Folder storage/
Folder usbip/
Folder wusbcore/
File Kconfig 5525 bytes
File Makefile 1675 bytes
File README 2427 bytes
C file usb-skeleton.c 15973 bytes

  1 To understand all the Linux-USB framework, you'll use these resources:
  3     * This source code.  This is necessarily an evolving work, and
  4       includes kerneldoc that should help you get a current overview.
  5       ("make pdfdocs", and then look at "usb.pdf" for host side and
  6       "gadget.pdf" for peripheral side.)  Also, Documentation/usb has
  7       more information.
  9     * The USB 2.0 specification (from, with supplements
 10       such as those for USB OTG and the various device classes.
 11       The USB specification has a good overview chapter, and USB
 12       peripherals conform to the widely known "Chapter 9".
 14     * Chip specifications for USB controllers.  Examples include
 15       host controllers (on PCs, servers, and more); peripheral
 16       controllers (in devices with Linux firmware, like printers or
 17       cell phones); and hard-wired peripherals like Ethernet adapters.
 19     * Specifications for other protocols implemented by USB peripheral
 20       functions.  Some are vendor-specific; others are vendor-neutral
 21       but just standardized outside of the team.
 23 Here is a list of what each subdirectory here is, and what is contained in
 24 them.
 26 core/           - This is for the core USB host code, including the
 27                   usbfs files and the hub class driver ("hub_wq").
 29 host/           - This is for USB host controller drivers.  This
 30                   includes UHCI, OHCI, EHCI, and others that might
 31                   be used with more specialized "embedded" systems.
 33 gadget/         - This is for USB peripheral controller drivers and
 34                   the various gadget drivers which talk to them.
 37 Individual USB driver directories.  A new driver should be added to the
 38 first subdirectory in the list below that it fits into.
 40 image/          - This is for still image drivers, like scanners or
 41                   digital cameras.
 42 ../input/       - This is for any driver that uses the input subsystem,
 43                   like keyboard, mice, touchscreens, tablets, etc.
 44 ../media/       - This is for multimedia drivers, like video cameras,
 45                   radios, and any other drivers that talk to the v4l
 46                   subsystem.
 47 ../net/         - This is for network drivers.
 48 serial/         - This is for USB to serial drivers.
 49 storage/        - This is for USB mass-storage drivers.
 50 class/          - This is for all USB device drivers that do not fit
 51                   into any of the above categories, and work for a range
 52                   of USB Class specified devices. 
 53 misc/           - This is for all USB device drivers that do not fit
 54                   into any of the above categories.

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us