千家信息网

PCI设备的枚举流程和PCI设备驱动的调用过程

发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,这篇文章主要介绍了PCI设备的枚举流程和PCI设备驱动的调用过程,具有一定借鉴价值,需要的朋友可以参考下。如下资料是关于实现过程代码。//0、pci子系统首先注册pci busstruct bus_t
千家信息网最后更新 2025年12月04日PCI设备的枚举流程和PCI设备驱动的调用过程

这篇文章主要介绍了PCI设备的枚举流程和PCI设备驱动的调用过程,具有一定借鉴价值,需要的朋友可以参考下。如下资料是关于实现过程代码。

//0、pci子系统首先注册pci busstruct bus_type pci_bus_type = {        .name           = "pci",        .match          = pci_bus_match,        .uevent         = pci_uevent,        .probe          = pci_device_probe,        .remove         = pci_device_remove,        .shutdown       = pci_device_shutdown,        .dev_groups     = pci_dev_groups,        .bus_groups     = pci_bus_groups,        .drv_groups     = pci_drv_groups,        .pm             = PCI_PM_OPS_PTR,        .num_vf         = pci_bus_num_vf,};EXPORT_SYMBOL(pci_bus_type);static int __init pci_driver_init(void){        return bus_register(&pci_bus_type);}postcore_initcall(pci_driver_init);/* 将初始化函数放到内核代码特殊段,内核启动将会自动调用初始化函数 *//* 设备的枚举流程和设备的驱动的调用过程 *///1、pci控制器 设备树节点将会配转换成platform device            pcie@3400000 {                        compatible = "fsl,ls1021a-pcie", "snps,dw-pcie";                        ....                     }         //2、pci控制器匹配platform driverstatic const struct of_device_id ls_pcie_of_match[] = {        { .compatible = "fsl,ls1021a-pcie", .data = &ls1021_drvdata },        ..        }static struct platform_driver ls_pcie_driver = {        .driver = {                .name = "layerscape-pcie",                .of_match_table = ls_pcie_of_match,                .suppress_bind_attrs = true,        },};builtin_platform_driver_probe(ls_pcie_driver, ls_pcie_probe);//3、执行pci控制器驱动函数ls_pcie_probe函数将被调用,直到pci_bus_type.pci_device_probe被调用        ls_add_pcie_port            pci_bus_add_devices                pci_bus_add_device                    device_attach                        __device_attach                            __device_attach_driver                                driver_probe_device                                    really_probe                                        dev->bus->probe//将调用pci_bus_type.pci_device_probe//4、枚举pci设备调用设备驱动    pci_device_probe        __pci_device_probe            pci_call_probe               local_pci_probe                   pci_drv->probe//设备的驱动的probe将被调用。

看完上述内容,你们对PCI设备的枚举流程和PCI设备驱动的调用过程有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。

设备 驱动 过程 函数 流程 设备驱动 控制器 控制 代码 内容 内核 更多 特殊 价值 子系统 技能 朋友 篇文章 行业 资料 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 恩施州公安局网络安全大队 国家网络安全宣传片完整版 南京数据库招聘 长宁区企业网络技术服务信息推荐 永安租房软件开发 专科中有哪些学校开设软件开发 数据库应用技术上机软件 服务器上能装游戏显卡吗 以太网是哪种网络技术 hp服务器代码查询 国内专业金融分析软件开发商 吉林潮流软件开发价格检测中心 人渣scum服务器收费吗 天津天河数据库中心 最新软件开发国家标准图 辛集市网络安全宣传 软件开发怀孕还能上班吗 上海点拓网络技术有限公司 三种数据库分页实现关键字 气象网络安全管理 服务器正在忙碌请稍后 网络安全学硕满分多少分 瞬变电磁软件开发 吉林软件开发自学网教学视频 什么是车牌识别数据库 软件开发企业创业计划书 delphi7数据库连接 戴尔服务器网口突然不亮 高校师生同上一堂网络安全 重庆政府软件开发软件
0