Read the fucking source code! --By 鲁迅A picture is worth a thousand words. --By 高尔基说明:
《Linux PCI驱动框架分析(一)》;话不多说,直接开始。
Host Bridge 连接 CPU 和 PCI 系统,由struct pci_host_bridge描述;struct pci_dev描述 PCI 设备,以及 PCI-to-PCI 桥设备;struct pci_bus用于描述 PCI 总线,struct pci_slot用于描述总线上的物理插槽;
来一张更详细的结构体组织图:

pci_host_bridge,这个结构一般由 Host 驱动负责来初始化创建;pci_host_bridge指向 root bus,也就是编号为 0 的总线,在该总线下,可以挂接各种外设或物理 slot ,也可以通过 PCI 桥去扩展总线;Linux PCI驱动框架,基于Linux设备驱动模型,因此有必要先简要介绍一下,实际上 Linux 设备驱动模型也是一个大的 topic ,先挖个坑,有空再来填。来张图吧: