嵌入式技术
PCI总线应用领域及其广泛并且令人惊奇。不同的pci设备有不同的需求以及不同的问题。因此,在linux内核中pci层支持就非常重要啦。本文档就是想为驱动程序设计开发人员解决pci处理中的各种问题。
0. Pci设备驱动程序的结构
现在有两种风格的的pci驱动程序结构:新风格的驱动(即让pci层来做大量设备探测
工作并且支持热插拔功能)和旧风格的驱动(即由驱动程序自己探测设备)。除非你有很好的理由,否则就不要用旧风格写驱动程序。当驱动程序找到所驱动的设备后,将执行以下步骤:
启用设备
访问设备配置空间
检测设备资源(如基地址和中断号)
分配设备资源
与设备通讯
下文将论述以上大部分步骤,其余部分请参考
如果没有配置pci 子系统(即CONFIG_PCI 没有置位),以下介绍的大部分函数都被定义为内联函数,它们要么是空的,要么返回对应的错误代码以避免在驱动中出现过多的条件宏ifdefs。
全部0条评论
快来发表一下你的评论吧 !