linux驱动学习笔记:USB README

来源:互联网 发布:wind万德数据库 编辑:程序博客网 时间:2024/05/01 13:34

学习顺序有借鉴fudan_abc的《linux内核修炼之道》

链接:http://blog.csdn.net/fudan_abc/article/details/5347687

内容是自己看的,看完后再过去对比对比,查漏补缺。


$pwd

/home/linx/kernel/linux-2.6.34.13/drivers/usb

$vim README

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.

//pdf文档查看方式介绍


* 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 ("khubd").

//USB主要的代码位置


host/ - This is for USB host controller drivers.  This
 includes UHCI, OHCI, EHCI, and others that might
 be used with more specialized "embedded" systems.

//USB主要控制的驱动,UHCI,OHCI,EHCI与一些专门的嵌入式系统


gadget/ - This is for USB peripheral controller drivers and
 the various gadget drivers which talk to them.

//USB外设




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.


2012.10.20