关闭

Linux 驱动注册(driver_register)流程probe方法的选择

451人阅读 评论(0) 收藏 举报
分类:

driver_register -->bus_add_driver-->driver_attach-->driver_attach-->drv.probe

上面的调用顺序是驱动注册的流程,最终会调用drv->probe方法,对比plant_form总线和pci总线发现,plant_form总线的probe方法为空,pci总线的probe方法不为空(对比platform_bus_type和pci_bus_type)。何也?分析代码plant_form总线下的驱动注册的时候,probe用的是驱动自己的probe方法,pci总线下的驱动注册的时候用的是pci总线的probe方法。分析原因应该是plant_form总线是一种虚拟总线,总线自身不能探测挂在总线上的设备并初始化,而驱动是实实在在的,这样plant_form总线只能借助驱动的probe方法进行设备探测初始化。另一个方面pci总线作为一种实际存在的物理总线,有自己的探测方法探测挂在pci下的设备。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43329次
    • 积分:897
    • 等级:
    • 排名:千里之外
    • 原创:44篇
    • 转载:31篇
    • 译文:0篇
    • 评论:1条
    最新评论