以下是基于标准 GPIO的MDIO bitbang驱动程序中探测功能的定义
static int __devinit mdio_ofgpio_probe(struct of_device *ofdev,const struct of_device_id* match)
我无法在上面的代码中找出__devinit
的目的
其次,什么时候驱动程序调用探测函数?可能是驱动程序自身加载的时候。但它不是驱动程序init
功能的一部分。如果我错了,请纠正我?
答案 0 :(得分:0)
总线驱动程序结构中维护了总线上可用设备的列表,以及系统中可用于支持该总线上设备的驱动程序。
现在将模块插入内核。只调用init_module来对驱动程序进行基本初始化,但是当您插入设备时,会调用匹配函数作为总线结构的一部分来检查驱动程序列表是否有支持您设备的驱动程序。成功匹配后,将调用驱动程序的探测。