在sound/soc/codec/twl4030.c中:static const struct snd_kcontrol_new twl4030_snd_controls[] 中定义了此codec相关的控制接口;在驱动初始化的时候通过snd_soc_add_controls(codec, twl4030_snd_controls,ARRAY_SIZE(twl4030_snd_controls));|-->snd_soc_cnew()--->snd_ctl_new1()-->snd_ctl_new() ...
snd_soc_add_controls(codec, twl4030_snd_controls,ARRA Y_SIZE(twl4030_snd_controls)); 6. |-->snd_soc_cnew()--->snd_ctl_new1()-->snd_ctl_new() // 逐个取出 snd_kcontrol_new 的信息,构建一个 snd_kcontrol 元素 7. |->int snd_ctl_add(struct snd_card *card, struct snd_kcontrol...
在驱动中定义的snd_soc_dapm_widget数组,只是作为一个模板,所以snd_soc_dapm_new_control所做的第一件事,就是为该widget重新分配内存,并把模板的内容拷贝过来 staticstructsnd_soc_dapm_widget * snd_soc_dapm_new_control(structsnd_soc_dapm_context *dapm,conststructsnd_soc_dapm_widget *widget) {structsnd...
分FE和BE-->snd_soc_dapm_link_dai_widgets// dai widget 和 stream widget 建立连接-->snd_soc_dapm_connect_dai_link_widgets// BE dai widget和 codec dai widget建立连接,codec dai widget和codec stream widget自动建立连接-->snd_soc_add_card_controls// 注册machine级别的 controls--...
Yuri Nedel Prodigy10points When porting a codec from kernel 2.6.32 to 2.6.37, getting this compilation error: error: 'struct snd_soc_codec' has no member named 'write' I see that include/sound/soc.h has really changed between those kernel versions. So, what othe...
Background: The snd-soc-dummy codec is a dummy codec used for testing and sometimes with i2s codecs that doesn't have their own driver. Example of use: https://github.com/skakri/asoc-i2s-loader/blob/master/asoc-i2s-loader.c It restricts ...
Describe the bug When kodi starts, dmesg is polluted with thousands of lines like this: hdmi-audio-codec hdmi-audio-codec.2.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -19 If I start my RPi4 with the attached TV off, the RPi4 d...