Blame view

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