kernel4.19 驱动注册
module_platform_driver <——include/linux/platform_device.h include/linux
module_driver <—— include/linux/device.h
platform_driver_register <—— drivers/base/platform.c
driver_register<—— drivers/base/driver.c
driver_find <—— 通过查看总线上是否已注册
bus_add_driver <——drivers/base/bus.c
driver_attach <——drivers/base/dd.c 查找device
__driver_attach -> driver_match_device通过这个函数直接
调用相应总线的match函数
platform_match<——匹配成功返回大于0的数,由于
dev->driver = NLL;调用driver_probe_device-> really_probe最后调用到相应总线的probe函数
platform_drv_probe -> (drv->probe)自己驱动的probe函数
至此platform总线驱动的注册方法就分析完了,具体细节大家可以根据需要去深入了解;以此可以类推,其他总线的注册方法和platform应该是差不多的原理,这里我就不在赘述。如有不对的地方还请各位大神指正。