ASoC: sn95031: make playback rails depend on actual pins they control
This patch makes the codec playback rails (headset and speaker) depend on
actual pins they control. This enables better power management of the codec
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
diff --git a/sound/soc/codecs/sn95031.c b/sound/soc/codecs/sn95031.c
index d0b7802..9c3db0d 100644
--- a/sound/soc/codecs/sn95031.c
+++ b/sound/soc/codecs/sn95031.c
@@ -519,6 +519,8 @@
static const struct snd_soc_dapm_route sn95031_audio_map[] = {
/* headset and earpiece map */
+ { "HPOUTL", NULL, "Headset Rail"},
+ { "HPOUTR", NULL, "Headset Rail"},
{ "HPOUTL", NULL, "Headset Left Playback" },
{ "HPOUTR", NULL, "Headset Right Playback" },
{ "EPOUT", NULL, "Earpiece Playback" },
@@ -527,18 +529,16 @@
{ "Earpiece Playback", NULL, "Headset Left Filter"},
{ "Headset Left Filter", NULL, "HSDAC Left"},
{ "Headset Right Filter", NULL, "HSDAC Right"},
- { "HSDAC Left", NULL, "Headset Rail"},
- { "HSDAC Right", NULL, "Headset Rail"},
/* speaker map */
+ { "IHFOUTL", NULL, "Speaker Rail"},
+ { "IHFOUTR", NULL, "Speaker Rail"},
{ "IHFOUTL", "NULL", "Speaker Left Playback"},
{ "IHFOUTR", "NULL", "Speaker Right Playback"},
{ "Speaker Left Playback", NULL, "Speaker Left Filter"},
{ "Speaker Right Playback", NULL, "Speaker Right Filter"},
{ "Speaker Left Filter", NULL, "IHFDAC Left"},
{ "Speaker Right Filter", NULL, "IHFDAC Right"},
- { "IHFDAC Left", NULL, "Speaker Rail"},
- { "IHFDAC Right", NULL, "Speaker Rail"},
/* vibra map */
{ "VIB1OUT", NULL, "Vibra1 Playback"},