高通-音频驱动程序

一笑奈何 提交于 2019-12-26 17:01:39

\kernel\sound\core\control.c

\kernel\sound\core\

\kernel\sound\soc\codecs\Msm8x16-wcd.c

从上往下的大致流程:

amixer-用户层  

  |->snd_ctl_ioctl-系统调用  

       |->snd_ctl_elem_write_user-内核钩子函数  

            |->snd_ctl_elem_wirte-  

                 |->snd_ctl_find_id-遍历kcontrol链表找到与给定id相匹配的kctl  

                 |->kctl->put()-调用kctl的成员函数put()  

                      |->snd_soc_put_volsw

modem重启了的代码:\kernel\drivers\soc\qcom\smd.c

起始ioctl:\kernel\sound\core\control_compat.c

snd_ctl_elem_write_user_compat >> snd_ctl_elem_write >> result = kctl->put(kctl, control);

ADC1 Volume函数get put设置\kernel\sound\soc\codecs\msm8x16-wcd.c

最终读写寄存器函数:\kernel\sound\soc\soc-core.c

更往上:\kernel\sound\core\control.c:

创建的设备文件: dev/snd/controlC0

解析dts:\kernel\sound\soc\msm\msm8x16.c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!