linux - linux内核中调用的pci驱动的probe函数在哪里

标签 linux kernel pci

我浏览了pci-driver.c中的__pci_register_driver(),但找不到在那里调用pci驱动程序的probe()。哪个内核函数会调用这个probe()?谢谢!

最佳答案

在同一个文件 pci-driver.c 中,有一个名为的函数

static long local_pci_probe(void *_ddi)
{
...
    rc = ddi->drv->probe(ddi->dev, ddi->id);
...
}

调用源自struct bus_type pci_bus_type = { .probe = pci_device_probe }。首先,pci_device_probe()调用__pci_device_probe()__pci_device_probe()调用pci_call_probe()pci_call_probe()调用local_pci_probe(),然后调用 pci 驱动程序的 probe()

关于linux - linux内核中调用的pci驱动的probe函数在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25554034/

相关文章:

c++ - 将 32 位整数存储到磁盘的绝对最快方法?

c - 有没有办法从 C 应用程序与驱动程序通信?

c - 我无法理解PID的内核内部表示

windows-7 - 写入 Windows 7 上的并行端口

linux - WMI 在 LINUX 中设置变量?

用于符号链接(symbolic link)的 Linux 命令文件

linux - PCIe中断处理linux内核

linux - 如果禁用 IOMMU(intel VT-D),PCI 设备能否直接寻址 CPU PA

linux - 创建命令历史记录管道,如何摆脱 ack 传递的换行符?

android - error (13) 在 NFS rootfs 挂载期间没有执行/etc/init 的权限