alsa的新理解

1 snd_open 开始分析
从 snd_minors[ ]中取出新的file_operations。

2 snd_register_device 通过这个函数 构造出 snd_minors[ ] 这个数组

3 一个函数通过 snd_register_device 构造出了,控制设备
、 pcm设备(创建 一个输出设备,一个输入设备 )

4 snd_soc_platform_driver 和 snd_soc_codec_driver 的 probe 函数中
a 一般会注册 wight
b 进行硬件设置
5 snd_soc_platform_driver 和 snd_soc_codec_driver 的 probe 函数
由 snd_soc_instantiate_card回调
snd_soc_instantiate_card 由 snd_soc_register_card 回掉
snd_soc_register_card 由 soc_probe 回掉

6 /proc/asound/pcm 里面的 stream 对应 snd_soc_dai_link 里面的 stream name。
同时:
snd_soc_dai_link 前有编号 比如 12,对应 dev/snd 里面设备的
pcmC0D12c ,同时根据 snd_soc_dai_link 成员函数,判断是否 两个设备 pcmC0D12c 和 pcmC0D12p

猜你喜欢

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