版本:uboot2019
平台:arm926
背景:最近调试gpio驱动发现一直没有进入.probe(),已经确认compatible匹配ok,driver和device已经关联上。但是很艰难才找到调用.probe()的位置。
在此记录gpio驱动调用.probed()的流程:
gpio_request->
gpio_to_device->
uclass_first_device->
uclass_get_device_tail->
device_probe->
uclass_get_device_by_seq->
uclass_get_device_tail->
device_probe->
xxxx_gpio_probe
可以推断很多模块的probe都是在确认系统被使用的时候才会调用.probe()。
由于原系统没有调用gpio_request()所以不会调用gpio.probe(),因此豁然开朗。