ath6kl_sdio_init ->
ret = sdio_register_driver(&ath6kl_sdio_driver);
driver_register(&drv->drv);
ret = bus_add_driver(drv);
error = driver_attach(drv);
bus_for_each_dev(drv->bus, NULL, drv, __driver_attach);
error = fn(dev, data); --> 这里的fn即函数参数带进来的__driver_attach
在__driver_attach即可找到driver_probe_device(drv, dev);的调用.
__driver_attach
driver_probe_device
really_probe
drv->probe
ath6kl_sdio_driver.probe --> 这里是我们注册的probe函数
以ath6kl_sdio_init为例跟踪probe调用
最新推荐文章于 2024-04-14 18:28:25 发布