30m 10p
注册一个PCI驱动
为了被正确注册到内核, 所有的 PCI驱动必须创建的主结构是 struct pci_driver 结构.
使能PCI 设备
在 PCI 驱动的探测函数中, 在驱动可存取PCI 设备的任何设备资源(I/O 区或者中断)之前, 驱动必须调用 pci_enable_device 函数:
intpci_enable_device(struct pci_dev *dev);
存取配置空间
在驱动已探测到设备后, 它常常需要读或写 3个地址空间: 内存, 端口, 和配置. 特别地, 存取配置空间对驱动是至关重要的, 因为这是唯一的找到设备被映射到内存和 I/O 空间的位置的方法.
存取I/O 和内存空间
PCI 中断
硬件抽象
用来实现硬件抽象的机制是通常的包含方法的结构.
【结构就好比一个类,包含数据和成员函数。】
第十三章 USB驱动【先跳过】