快速业务通道

《Linux内核修炼之道》精华分享与讨论(6)——分析内核源码如何入手?(上)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-23
状态.当它收到一个non-idle的信号时,就会被唤醒.节约用电从USB做起.不过这个与主题也没太大关系,相关代码也可以不用关注了. 剩下的还有几项,不过似乎与咱们关系也不大,还是去看看Makefile. 5 usbcore-objs := usb.o hub.o hcd.o urb.o message.o driver.o
6 config.o file.o buffer.o sysfs.o endpoint.o
7 devio.o notify.o generic.o quirks.o
8
9 ifeq ($(CONFIG_PCI),y)
10 usbcore-objs = hcd-pci.o
11 endif
12
13 ifeq ($(CONFIG_USB_DEVICEFS),y)
14 usbcore-objs = inode.o devices.o
15 endif
16
17 obj-$(CONFIG_USB) = usbcore.o
18
19 ifeq ($(CONFIG_USB_DEBUG),y)
20 EXTRA_CFLAGS = -DDEBUG
21 endif
Makefile可比Kconfig简略多了,看起来也更亲切点,咱们总是拿的money越多越好,看的代码越少越好.这里之会出现CONFIG_PCI,是通常USB的Root Hub包含在一个PCI设备中.hcd-pci和hcd顾名而思义就知道是说主机控制器的,它们实现了主机控制器公共部分,按协议里的说法它们就是HCDI(HCD的公共接口),host目录下则实现了各种不同的主机控制器. CONFIG_USB_DEVICEFS前面的Kconfig文件里也见到了,关于usbfs的,与咱们的主题无关,inode.c和devices.c两个文件也可以不用管了. 那么我们可以得出结论,为了理解内核对USB子系统的实现,我们需要研究buffer.c、config.c、driver.c、endpoint.c、file.c、generic.c、hcd.c hcd.h、hub.c、message.c、notify.c、otg_whitelist.h、quirks.c、sysfs.c、urb.c 和usb.c文件.这么看来,好像大都需要关注的样子,没有减轻多少压力,不过这里本身就是USB Core部分,是要做很多的事为咱们分忧的,多点也是可以理解的.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号