pinctrl子系统中的add_setting是被谁调用的

image
image
image
在用到pinctrl子系统的程序中,与设备树匹配成功会调用写驱动程序的人提供的probe,在调用提供的probe之前会调用really_proeb,在really_probe中最终会调用pinctrl_get;在写pinctrl的驱动程序中会注册struct pinctrl_desc,注册函数:pinctrl_register也会最终调用pinctrl_get;在pinctrl_get函数中会调用add_setting,add_setting函数使struct pinctrl_map 转换成struct pinctrl_setting ,我的问题是:map转换成setting是在really_probe被转换,还是在注册pinctrl_desc时转换。

又看了一眼源码,在pinctrl的控制器里,pinctrl_register函数会调用pinctrl_get;pinctrl_get会有俩个分支,它会先find_pinctrl,但pinctrl_register比really_probe调用早(really_probe是在用pinctrl控制器时才会调用),也就是说先走create_pinctrl,在really_probe时不是create_pinctrl(创建),而是find_pinctrl(找)
问题已经解决