[alsa-devel] [PATCH] ASoC: at91sam9g20ek: Automatically disconnect non-connected pins

Nicolas Ferre nicolas.ferre at atmel.com
Mon Apr 13 10:53:46 CEST 2015


Le 11/04/2015 11:18, Lars-Peter Clausen a écrit :
> According to the schematics the both LHPOUT and RHPOUT are connected to the
> external connector. RHPOUT is missing from the DAPM routes, but otherwise
> they seem to be complete.
> 
> This patch adds the missing route and then sets the fully_routed flag for
> the card. This allows to remove all the manual calls to
> snd_soc_dapm_nc_pin().

I don't understand: on the schematics, both the "RLINEIN" and "LLINEIN"
are actually not connected. So, why remove these calls to
snd_soc_dapm_nc_pin(). Note also that "ROUT" and "LOUT" signals are not
connected as well.

But note that I don't know precisely ASoC either...

Bye,


> Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
> ---
>  sound/soc/atmel/sam9g20_wm8731.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/sound/soc/atmel/sam9g20_wm8731.c b/sound/soc/atmel/sam9g20_wm8731.c
> index 8de8361..d7469cd 100644
> --- a/sound/soc/atmel/sam9g20_wm8731.c
> +++ b/sound/soc/atmel/sam9g20_wm8731.c
> @@ -95,8 +95,9 @@ static const struct snd_soc_dapm_widget at91sam9g20ek_dapm_widgets[] = {
>  
>  static const struct snd_soc_dapm_route intercon[] = {
>  
> -	/* speaker connected to LHPOUT */
> +	/* speaker connected to LHPOUT/RHPOUT */
>  	{"Ext Spk", NULL, "LHPOUT"},
> +	{"Ext Spk", NULL, "RHPOUT"},
>  
>  	/* mic is connected to Mic Jack, with WM8731 Mic Bias */
>  	{"MICIN", NULL, "Mic Bias"},
> @@ -108,9 +109,7 @@ static const struct snd_soc_dapm_route intercon[] = {
>   */
>  static int at91sam9g20ek_wm8731_init(struct snd_soc_pcm_runtime *rtd)
>  {
> -	struct snd_soc_codec *codec = rtd->codec;
>  	struct snd_soc_dai *codec_dai = rtd->codec_dai;
> -	struct snd_soc_dapm_context *dapm = &codec->dapm;
>  	int ret;
>  
>  	printk(KERN_DEBUG
> @@ -124,10 +123,6 @@ static int at91sam9g20ek_wm8731_init(struct snd_soc_pcm_runtime *rtd)
>  		return ret;
>  	}
>  
> -	/* not connected */
> -	snd_soc_dapm_nc_pin(dapm, "RLINEIN");
> -	snd_soc_dapm_nc_pin(dapm, "LLINEIN");
> -
>  #ifndef ENABLE_MIC_INPUT
>  	snd_soc_dapm_nc_pin(&rtd->card->dapm, "Int Mic");
>  #endif
> @@ -158,6 +153,7 @@ static struct snd_soc_card snd_soc_at91sam9g20ek = {
>  	.num_dapm_widgets = ARRAY_SIZE(at91sam9g20ek_dapm_widgets),
>  	.dapm_routes = intercon,
>  	.num_dapm_routes = ARRAY_SIZE(intercon),
> +	.fully_routed = true,
>  };
>  
>  static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
> 


-- 
Nicolas Ferre


More information about the Alsa-devel mailing list