pcm_new 调用

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 初始话的时候被调用

猜你喜欢

转载自blog.csdn.net/aningxiaoxixi/article/details/109702133