该函数只是一个简单的一个循环,为传入的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_PRE_PMU | SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMD),SND_SOC_DAPM_PGA("LINEOUT1L PGA", WM8900_REG_POWER2,8,0,NULL,0),SND_SOC_DAPM_PGA("LINEOUT1R PGA", WM8900_REG_POWER2,7,0,NULL,0), SND_SOC_DAPM_MUX("LINEOUT2 LP", SND_SOC...
-->dapm_power_widgets// 触发DAPM机制 snd_soc_dapm_put_enum_double soc_dapm_mux_update_power(card, kcontrol, item[0], e);// 用户态给mux kontrol设置字符串,alsa lib库会把字符串转化为struct soc_enum里字符串数组texts的index,item[0]就是index。 ...
snd_soc_dapm_nc_pin(codec,"HPRCOM");/* always connected */snd_soc_dapm_enable_pin(codec,"Audio In");/* must correspond to audio_out_mux.private_value initializer */snd_soc_dapm_disable_pin(codec,"Audio Out Differential"); snd_soc_dapm_sync(codec); snd_soc_dapm_enable_pin(codec,"...
(params); int mclk_p = aic31xx->sysclk / aic31xx->p_div; int bclk_n = 0; int match = -1; int i; /* Use PLL as CODEC_CLKIN and DAC_CLK as BDIV_CLKIN */ snd_soc_update_bits(codec, AIC31XX_CLKMUX, AIC31XX_CODEC_CLKIN_MASK, AIC31XX_CODEC_CLKIN_PLL); ...
snd_soc_codec_set_drvdata(codec, priv); priv->codec_pdata = pdev->dev.platform_data; mutex_init(&codec->mutex); INIT_LIST_HEAD(&codec->dapm_widgets); INIT_LIST_HEAD(&codec->dapm_paths); codec->name ="TIMPANI"; codec->owner = THIS_MODULE; ...
snd_soc_component_init_regmap(component, regmap);/* set alc mux to none */snd_soc_component_update_bits(component, AC97_VIDEO,0x3000,0x3000);return0; } 开发者ID:Lyude,项目名称:linux,代码行数:35,代码来源:wm9712.c 示例2: cs4270_set_dai_fmt ...
摘要:上一节中,介绍了DAPM框架中几个重要的数据结构:snd_soc_dapm_widget,snd_soc_dapm_path,snd_soc_dapm_route。其中snd_soc_dapm_path无需我们自己定义,它会在注册snd_soc_dapm_route时动态地生成,但是对于系统中的wi 阅读全文 posted @ 2017-01-03 22:09 Red_Point 阅读(1556) 评论(0) 推荐(0) ...
(structhi3630_srcup_data*)snd_soc_platform_get_drvdata(rtd->platform);intret =0; BUG_ON(NULL== card); BUG_ON(NULL== pcm); BUG_ON(NULL== pdata);if(!card->dev->dma_mask) card->dev->dma_mask = &hi3630_pcm_dmamask;if(!card->dev->coherent_dma_mask) ...
}/* set clock on MCLK, BCLK, or GPIO1 as PLL input */snd_soc_update_bits(codec, AIC31XX_CLKMUX, AIC31XX_PLL_CLKIN_MASK, clk_id << AIC31XX_PLL_CLKIN_SHIFT); aic31xx->sysclk = freq;return0; } 开发者ID:AeroGirl,项目名称:VAR-SOM-AM33-SDK7-Kernel,代码行数:24,代码来源:tlv...