Linux USB subsystem --- USB Debug File System Initialize
来源:互联网 发布:linux war源代码泄露 编辑:程序博客网 时间:2024/05/21 18:33
[Linux 3.2] [driver/usb/core/usb.c]
首先来分析USB子系统初始化的第一个函数usb_debugfs_init()
- static int usb_debugfs_init(void)
- {
- usb_debug_root = debugfs_create_dir("usb", NULL);
- if (!usb_debug_root)
- return -ENOENT;
- usb_debug_devices = debugfs_create_file("devices", 0444,
- usb_debug_root, NULL,
- &usbfs_devices_fops);
- if (!usb_debug_devices) {
- debugfs_remove(usb_debug_root);
- usb_debug_root = NULL;
- return -ENOENT;
- }
- return 0;
- }
其主要作用就是在debug文件系统中创建一个usb目录,然后在usb目录下面创建一个devices的文件。
问题:创建的这些文件在那里呢?
答案:存在于debug文件系统里面。
问题:debug文件系统又在那里呢?
答案:http://blog.csdn.net/voice_shen/article/details/7084870
下面假设debug文件系统已经被挂载到/sys/kernel/debug目录里。进入usb目录,查看
# ls
devices ehci ohci
这个devices文件就是上面创建的。
注意:这个文件的内容和/proc/bus/usb/devices的内容是一致的。
# cat devices
---------------------------取其中一段----------------------------------
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0dd8 ProdID=f607 Rev=11.00
S: Manufacturer=Netac
S: Product=OnlyDisk
S: SerialNumber=AA04012700009721
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=31875us
----------------------------------------------------------------------------
这些信息都是什么意思呢?具体参考:<Documentations/usb/proc_usb_info.txt>
问题:这些信息是从那里来的呢?
回答:后续给出答案。
问题:devices文件中的ehci,ohci是如何加入的呢?
回答:后续给出答案。- Linux USB subsystem --- USB Debug File System Initialize
- Linux USB subsystem --- USB Debug File System Initialize
- Linux USB subsystem --- USB File System initialize
- Linux USB subsystem --- USB File System initialize
- Linux USB subsystem -- initialize
- Linux USB subsystem -- initialize
- Linux USB subsystem -- initialize
- Linux USB subsystem --- USB Hub initialize
- Linux USB subsystem --- USB Hub initialize
- Linux USB subsystem --- USB bus registration
- Linux USB subsystem --- register generic usb driver
- Linux USB subsystem --- USB create HCD
- Linux USB subsystem --- USB create HCD
- Linux USB subsystem --- register generic usb driver
- Linux USB subsystem --- USB bus registration
- Linux USB subsystem --- USB create HCD
- The Linux USB Input Subsystem
- The Linux USB Input Subsystem
- Linux USB subsystem --- USB bus registration
- CSS之选择器命名规则...
- Iphone开发(六)IOS中的通知--操作表ActionSheet和警报AlertView
- Linux USB subsystem --- USB File System initialize
- Netlink实例----用户态内核态全包含
- Linux USB subsystem --- USB Debug File System Initialize
- Linux USB subsystem -- initialize
- 在挂载yaffs2 文件系统出现的问题和解决办法。
- oracle11 密码延迟验
- Java JTree_4
- PL/SQL-包
- struts2中如何获取request,response,session对象
- USB multi gadget 支持问题
- 13周任务2