PCI驱动程序中何时对struct pci_dev进行初始化的?

发布于 2022-09-20 10:05:01 字数 249 浏览 16 评论 0

我看了一些PCI驱动程序的源代码,好像没发现对struct pci_dev进行初始化的地方,比如在下面这些函数中直接用的

int probe(struct pci_dev *pdev,const struct pci_device_id *pci_id);

是不是内核在启动的时候已经对所有的物理设备进行了扫描,并建立起对这些设备进行组织的数据结构,同时对pci_dev
以及描述其他设备的结构进行了初始化,所以程序中可以拿来直接用?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终弃我 2022-09-27 10:05:01

原帖由 bohemiangirl 于 2008-8-4 01:35 发表
我看了一些PCI驱动程序的源代码,好像没发现对struct pci_dev进行初始化的地方,比如在下面这些函数中直接用的

int probe(struct pci_dev *pdev,const struct pci_device_id *pci_id);

是不是内核在启动的 ...

在linux内核模块中,有的是在系统启动时就自动加载的;有的是系统启动后,根据需要手动加载的。PCI作为系统中最重要的设备之一,肯定是自动加载的。

彩扇题诗 2022-09-27 10:05:01

是不是内核在启动的时候已经对所有的物理设备进行了扫描,并建立起对这些设备进行组织的数据结构,同时对pci_dev
以及描述其他设备的结构进行了初始化,所以程序中可以拿来直接用?

-------------------------------------------------
是的..
去看看linux内核情景分析pci总线那章,详细的有点过分。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文