ASoC: rx51: Automatically disconnect non-connected pins
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 4 Jun 2015 14:13:51 +0000 (16:13 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 9 Jun 2015 17:57:30 +0000 (18:57 +0100)
According to the schematics the external speaker is differential, so the
HPLCOM and HPRCOM pins of the CODEC should be connected to it.

Otherwise the routing looks complete, so add the missing routes and set the
fully_routed flag of the card instead of manually marking the unused inputs
and outputs as not connected. This makes the code a bit shorter and
cleaner.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Tested-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/omap/rx51.c

index c2ddf0fbfa2895732a37d82d19b60c75408d67a7..9df4e40b62b518e3623685baab4f99a300d29efb 100644 (file)
@@ -245,6 +245,8 @@ static const struct snd_soc_dapm_widget aic34_dapm_widgets[] = {
 static const struct snd_soc_dapm_route audio_map[] = {
        {"Ext Spk", NULL, "HPLOUT"},
        {"Ext Spk", NULL, "HPROUT"},
+       {"Ext Spk", NULL, "HPLCOM"},
+       {"Ext Spk", NULL, "HPRCOM"},
        {"Headphone Jack", NULL, "LLOUT"},
        {"Headphone Jack", NULL, "RLOUT"},
        {"FM Transmitter", NULL, "LLOUT"},
@@ -288,15 +290,8 @@ static int rx51_aic34_init(struct snd_soc_pcm_runtime *rtd)
        struct snd_soc_codec *codec = rtd->codec;
        struct snd_soc_card *card = rtd->card;
        struct rx51_audio_pdata *pdata = snd_soc_card_get_drvdata(card);
-
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
        int err;
 
-       /* Set up NC codec pins */
-       snd_soc_dapm_nc_pin(dapm, "MIC3L");
-       snd_soc_dapm_nc_pin(dapm, "MIC3R");
-       snd_soc_dapm_nc_pin(dapm, "LINE1R");
-
        err = tpa6130a2_add_controls(codec);
        if (err < 0) {
                dev_err(card->dev, "Failed to add TPA6130A2 controls\n");
@@ -383,6 +378,7 @@ static struct snd_soc_card rx51_sound_card = {
        .num_aux_devs = ARRAY_SIZE(rx51_aux_dev),
        .codec_conf = rx51_codec_conf,
        .num_configs = ARRAY_SIZE(rx51_codec_conf),
+       .fully_routed = true,
 
        .controls = aic34_rx51_controls,
        .num_controls = ARRAY_SIZE(aic34_rx51_controls),