pcm_new (一般指的是 platfrom 中的参数段)
在这一句被调用
ret = component->driver->pcm_new(rtd)
从下到上一次被调用
soc_new_pcm
soc_probe_link_dais
static int snd_soc_instantiate_card
snd_soc_register_card
soc_probe //注意,也许不会走 soc_probe 这个标准函数,会走自己定义的 probe函数。但是这个 probe 函数是machine的,个人感觉写这个 machine 的probe 函数并不难,只要调用snd_soc_register_card函数
/* ASoC platform driver */
static struct platform_driver soc_driver = {
.driver = {
.name = "soc-audio",
.pm = &snd_soc_pm_ops,
},
.probe = soc_probe,
.remove = soc_remove,
};
从中可知 pcm_new 在card 初始话的时候被调用