forked from luck/tmp_suning_uos_patched
ASoC: at91sam9g20ek: Automatically disconnect non-connected pins
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(). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b787f68c36
commit
a1677e3902
|
@ -95,8 +95,9 @@ static const struct snd_soc_dapm_widget at91sam9g20ek_dapm_widgets[] = {
|
||||||
|
|
||||||
static const struct snd_soc_dapm_route intercon[] = {
|
static const struct snd_soc_dapm_route intercon[] = {
|
||||||
|
|
||||||
/* speaker connected to LHPOUT */
|
/* speaker connected to LHPOUT/RHPOUT */
|
||||||
{"Ext Spk", NULL, "LHPOUT"},
|
{"Ext Spk", NULL, "LHPOUT"},
|
||||||
|
{"Ext Spk", NULL, "RHPOUT"},
|
||||||
|
|
||||||
/* mic is connected to Mic Jack, with WM8731 Mic Bias */
|
/* mic is connected to Mic Jack, with WM8731 Mic Bias */
|
||||||
{"MICIN", NULL, "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)
|
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_dai *codec_dai = rtd->codec_dai;
|
||||||
struct snd_soc_dapm_context *dapm = &codec->dapm;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
printk(KERN_DEBUG
|
printk(KERN_DEBUG
|
||||||
|
@ -124,10 +123,6 @@ static int at91sam9g20ek_wm8731_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* not connected */
|
|
||||||
snd_soc_dapm_nc_pin(dapm, "RLINEIN");
|
|
||||||
snd_soc_dapm_nc_pin(dapm, "LLINEIN");
|
|
||||||
|
|
||||||
#ifndef ENABLE_MIC_INPUT
|
#ifndef ENABLE_MIC_INPUT
|
||||||
snd_soc_dapm_nc_pin(&rtd->card->dapm, "Int Mic");
|
snd_soc_dapm_nc_pin(&rtd->card->dapm, "Int Mic");
|
||||||
#endif
|
#endif
|
||||||
|
@ -158,6 +153,7 @@ static struct snd_soc_card snd_soc_at91sam9g20ek = {
|
||||||
.num_dapm_widgets = ARRAY_SIZE(at91sam9g20ek_dapm_widgets),
|
.num_dapm_widgets = ARRAY_SIZE(at91sam9g20ek_dapm_widgets),
|
||||||
.dapm_routes = intercon,
|
.dapm_routes = intercon,
|
||||||
.num_dapm_routes = ARRAY_SIZE(intercon),
|
.num_dapm_routes = ARRAY_SIZE(intercon),
|
||||||
|
.fully_routed = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
|
static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user