ASoC: fsl-asoc-card: use different route map for AC'97 mode
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Sun, 20 Dec 2015 20:34:29 +0000 (21:34 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 23 Dec 2015 00:08:26 +0000 (00:08 +0000)
fsl_ssi uses different stream names ("AC97 Playback" / "AC97 Capture")
in AC'97 mode so in this case fsl-asoc-card route map should
also be using them.

Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl-asoc-card.c

index 1b05d1c5d9fd50fe32eb9b65f4da1340db9170e5..6fb3aed91b447d96b88fe55fa036da2a2da0bdb3 100644 (file)
@@ -107,6 +107,13 @@ static const struct snd_soc_dapm_route audio_map[] = {
        {"CPU-Capture",  NULL, "Capture"},
 };
 
+static const struct snd_soc_dapm_route audio_map_ac97[] = {
+       {"AC97 Playback",  NULL, "ASRC-Playback"},
+       {"Playback",  NULL, "AC97 Playback"},
+       {"ASRC-Capture",  NULL, "AC97 Capture"},
+       {"AC97 Capture",  NULL, "Capture"},
+};
+
 /* Add all possible widgets into here without being redundant */
 static const struct snd_soc_dapm_widget fsl_asoc_card_dapm_widgets[] = {
        SND_SOC_DAPM_LINE("Line Out Jack", NULL),
@@ -574,7 +581,8 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
        priv->card.dev = &pdev->dev;
        priv->card.name = priv->name;
        priv->card.dai_link = priv->dai_link;
-       priv->card.dapm_routes = audio_map;
+       priv->card.dapm_routes = fsl_asoc_card_is_ac97(priv) ?
+                                audio_map_ac97 : audio_map;
        priv->card.late_probe = fsl_asoc_card_late_probe;
        priv->card.num_dapm_routes = ARRAY_SIZE(audio_map);
        priv->card.dapm_widgets = fsl_asoc_card_dapm_widgets;