![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux设备驱动
文章平均质量分 60
snowflurry
信号处理博士,Linux kernel新手,机器学习爱好者
展开
-
xHCI驱动学习(1) 核心数据结构
虽然Linux内核拥有C语言构建的身体,但它骨子里散发的是面向对象的气质,这一个个的对象就是struct。面对一个内核模块的时候,首先要找出关键的struct和它们之间的关系,才能摸清代码的骨骼脉络。今天来理清USB xHCI相关的数据结构类型usb_hcd、xhci_hcd、hc_driver和全局变量xhci_pci_driver、xhci_hc_driver、xhci_pci_hc_driver之间的关系。原创 2015-06-25 12:47:35 · 9954 阅读 · 0 评论 -
xHCI驱动学习(0) 模块启动
最近在学习Linux内核中USB相关内容的实现,读完了fudan_abc大神师兄的《USB那些事儿之我是USB Core》,感觉荡气回肠,因为大神不仅教给我们代码的奥义,也教给我们读代码的奥义。因此,接下来尝试用学到的“鱼”和“渔”,从USB Core“启下”,自己学习xHCI驱动的代码。xHCI是USB 3.x的host controller规范,首先进入drivers/usb/ho原创 2015-06-24 16:20:01 · 7616 阅读 · 0 评论 -
xHCI驱动学习(2) 初始化
上一篇分析数据结构的时候沿着xhci_pci_probe函数的执行顺序走了一遍,再总结一下它的主要调用链:(括号里是函数代码所属的文件名)(xhci-pci.c) xhci_pci_probe (hcd-pci.c) usb_hcd_pci_probe (hcd.c) usb_create_hcd (hcd.c) usb_create_shared_hcd(hcd.c) usb_add_h原创 2015-07-17 17:36:22 · 2576 阅读 · 0 评论