本文主要是介绍probe()何时被调用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1:新设备注册后,总线先match() device id, 绑定合适的驱动后,调用驱动的probe().
2:新驱动注册后,总线先match() device id,给驱动支持的, 未绑定驱动的设备绑定驱动,并把设备添加到驱动支持的设备链表尾部.然后调用probe().
--> driver_register()--> bus_add_driver()--> driver_attach()--> bus_for_each_dev()--> __driver_attach()--> driver_probe_device()--> drv->prode(dev)
p.s. ==> bus_for_each_dev()有4个参数, driver_attach()在调用bus_for_each_dev()的时候把__driver_attach()作为最后一个参数传给了它,
在bus_for_each_dev()内部即:int (*fn)(struct device *, void *)这个函数.
这篇关于probe()何时被调用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!