Linux ALSA声卡驱动之二:音频设备与驱动的衔接、注册

1、背景概述

         本方案基本MT7628平台,wm8960为codecs,i2s总线播放,相关代码随后上传,结合代码进行分析会更清晰

2、设备注册与驱动触发

 

综上所述,soc_mtk_i2s_dev、mt76xx_audio_device、soc_mtk_pcm_dev、设备挂载到platform平台上,从而触发mt76xx_i2s_driver、soc_driver、mt76xx_pcm_driver驱动程序的probe,注册挂载相应的dai结构体,codec_wm8960则是挂载在i2c总线上,触发wm8960_i2c_driver驱动程序的probe。mt76xx_i2s_dai结构体里的ops是对cpu以及i2s的处理,即上一节说的cpu_dai,wm8960_dai结构体里的ops是对codecs的处理,也就是上一节说的codec_dai,就是把模拟的音频信号,转化为数字信号等一系列处理。mt76xx_soc_platform,就是上一节说的platform,就是而是按照一定的格式,一定的规则有序的进行传输等操作。而mt76xx_audio_device设备挂载,触发soc_driver的probe则是一个重点,一个驱动初始化的入口,会初始化一系列动作,后面会详细的解说。

3、源代码以及文件分布

在sound/soc/mtk/mt76xx_machine.c里面,进行一系列platform_device注册。

在sound/soc/mtk/mt76xx_i2s.c文件中,注册驱动程序,在soc_mtk_i2s_dev注册时通过"mt76xx-i2s"匹配执行相应probe

在sound/soc/mtk/mt76xx_pcm.c文件中,注册驱动程序,在soc_mtk_pcm_dev注册时通过"mt76xx-pcm"执行相应probe

在sound/soc/codecs/wm8960.c文件中,注册驱动程序,在设备注册时通过"wm8960"匹配执行相应probe

 

在sound/soc/soc-core.c文件中,注册驱动程序,设备注册时通过"soc-audio"匹配执行相应probe

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值