ASoC: Declare Headset as Mic and Headphone widgets for SDP3430

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, March 26, 2009 - 12:11 pm

Gitweb:     http://git.kernel.org/linus/632087748c3795a54d5631e640df65592774e045
Commit:     632087748c3795a54d5631e640df65592774e045
Parent:     f8d5fc924b1bec95f47b0a9e8f9a6e22fa1c7b05
Author:     Lopez Cruz, Misael <x0052729@ti.com>
AuthorDate: Thu Mar 19 01:07:34 2009 -0500
Committer:  Mark Brown <broonie@opensource.wolfsonmicro.com>
CommitDate: Thu Mar 19 11:56:16 2009 +0000

    ASoC: Declare Headset as Mic and Headphone widgets for SDP3430
    
    Headset was declared previously as a Headphone widget connecting
    HSMIC and HSOL/HSOR pins of TWL4030 codec in SDP430 machine driver.
    The capture path becomes invalid as the Headphone widget is not a
    valid input endpoint.
    
    Instead of that, the Headset is declared as separate Microphone
    and Headphone widgets. Current patch modifies audio map:
    
    - Headset Mic: HSMIC with bias
    - Headset Stereophone: HSOL, HSOR
    
    Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 sound/soc/omap/sdp3430.c |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/sound/soc/omap/sdp3430.c b/sound/soc/omap/sdp3430.c
index 0a41de6..10f1c86 100644
--- a/sound/soc/omap/sdp3430.c
+++ b/sound/soc/omap/sdp3430.c
@@ -90,8 +90,12 @@ static struct snd_soc_jack hs_jack;
 /* Headset jack detection DAPM pins */
 static struct snd_soc_jack_pin hs_jack_pins[] = {
 	{
-		.pin = "Headset Jack",
-		.mask = SND_JACK_HEADSET,
+		.pin = "Headset Mic",
+		.mask = SND_JACK_MICROPHONE,
+	},
+	{
+		.pin = "Headset Stereophone",
+		.mask = SND_JACK_HEADPHONE,
 	},
 };
 
@@ -109,7 +113,8 @@ static struct snd_soc_jack_gpio hs_jack_gpios[] = {
 static const struct snd_soc_dapm_widget sdp3430_twl4030_dapm_widgets[] = {
 	SND_SOC_DAPM_MIC("Ext Mic", NULL),
 	SND_SOC_DAPM_SPK("Ext Spk", NULL),
-	SND_SOC_DAPM_HP("Headset Jack", NULL),
+	SND_SOC_DAPM_MIC("Headset Mic", NULL),
+	SND_SOC_DAPM_HP("Headset Stereophone", NULL),
 };
 
 static const struct snd_soc_dapm_route audio_map[] = {
@@ -123,11 +128,13 @@ static const struct snd_soc_dapm_route audio_map[] = {
 	{"Ext Spk", NULL, "HFL"},
 	{"Ext Spk", NULL, "HFR"},
 
-	/* Headset: HSMIC (with bias), HSOL, HSOR */
-	{"Headset Jack", NULL, "HSOL"},
-	{"Headset Jack", NULL, "HSOR"},
+	/* Headset Mic: HSMIC with bias */
 	{"HSMIC", NULL, "Headset Mic Bias"},
-	{"Headset Mic Bias", NULL, "Headset Jack"},
+	{"Headset Mic Bias", NULL, "Headset Mic"},
+
+	/* Headset Stereophone (Headphone): HSOL, HSOR */
+	{"Headset Stereophone", NULL, "HSOL"},
+	{"Headset Stereophone", NULL, "HSOR"},
 };
 
 static int sdp3430_twl4030_init(struct snd_soc_codec *codec)
@@ -146,7 +153,8 @@ static int sdp3430_twl4030_init(struct snd_soc_codec *codec)
 	/* SDP3430 connected pins */
 	snd_soc_dapm_enable_pin(codec, "Ext Mic");
 	snd_soc_dapm_enable_pin(codec, "Ext Spk");
-	snd_soc_dapm_disable_pin(codec, "Headset Jack");
+	snd_soc_dapm_disable_pin(codec, "Headset Mic");
+	snd_soc_dapm_disable_pin(codec, "Headset Stereophone");
 
 	/* TWL4030 not connected pins */
 	snd_soc_dapm_nc_pin(codec, "AUXL");
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
ASoC: Declare Headset as Mic and Headphone widgets for SDP3430, Linux Kernel Mailing ..., (Thu Mar 26, 12:11 pm)