staticintcs42l52_add_mic_controls(struct snd_soc_codec *codec){structcs42l52_private*cs42l52=snd_soc_codec_get_drvdata(codec);structcs42l52_platform_data*pdata= &cs42l52->pdata;if(!pdata->mica_diff_cfg)snd_soc_add_codec_controls(codec, cs42l52_mica_controls, ARRAY_SIZE(cs42l52_mica_controls)...
-->snd_soc_dapm_new_dai_widgets// 遍历component上的每个dai实例,创建 dai widget实例-->调用component的probe函数 -->snd_soc_add_component_controls// 注册component 普通控件-->snd_soc_dapm_add_routes// 注册component 路由表-->soc_probe_component// probe codec dai component-->soc_probe_component...
该函数只是一个简单的一个循环,为传入的widget模板数组依次调用snd_soc_dapm_new_control函数,实际的工作由snd_soc_dapm_new_control完成。 在驱动中定义的snd_soc_dapm_widget数组,只是作为一个模板,所以snd_soc_dapm_new_control所做的第一件事,就是为该widget重新分配内存,并把模板的内容拷贝过来 staticstructs...
SND_SOC_DAPM_PGA("Right Headphone", ALC5632_PWR_MANAG_ADD3,10,0,NULL,0), SND_SOC_DAPM_PGA("Left Speaker", ALC5632_PWR_MANAG_ADD3,13,0,NULL,0), SND_SOC_DAPM_PGA("Right Speaker", ALC5632_PWR_MANAG_ADD3,12,0,NULL,0), SND_SOC_DAPM_PGA("Aux Out", ALC5632_PWR_MANAG_ADD3,...
kcontrol = &hdmi_config_controls[1]; rc = snd_ctl_add(dai->card->snd_card,snd_ctl_new1(kcontrol, dai_data));returnrc; } 开发者ID:Ahuangshang,项目名称:Xiaomi_Kernel_OpenSource,代码行数:28,代码来源:msm-dai-q6-hdmi-v2.c 示例2: build_input ...
snd_soc_dapm_sync(dapm); ret = snd_soc_add_codec_controls(codec, msm_snd_controls, ARRAY_SIZE(msm_snd_controls));if(ret <0)returnret; msm_vibrator_amp_control_init();exit:if(gpio_is_valid(ext_spk_amp_gpio)) gpio_free(ext_spk_amp_gpio);returnret; ...