[alsa-devel] [PATCH] ASoC: Add jack_status_check callback function

Joonyoung Shim jy0922.shim at samsung.com
Thu Nov 12 09:14:04 CET 2009


The jack_status_check callback function is the interface to check the
status of the jack. Some target provides the method to distinguish what
is the jack inserted - headphone jack, microphone jack, tvout jack, etc,
so we can implement it using the jack_status_check function.

Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
---
 include/sound/soc.h  |    2 ++
 sound/soc/soc-jack.c |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 9323dcb..f66773b 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -333,6 +333,8 @@ struct snd_soc_jack_gpio {
 	int debounce_time;
 	struct snd_soc_jack *jack;
 	struct work_struct work;
+
+	int (*jack_status_check)(void);
 };
 #endif
 
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c
index 1212414..3c07a94 100644
--- a/sound/soc/soc-jack.c
+++ b/sound/soc/soc-jack.c
@@ -163,6 +163,9 @@ static void snd_soc_jack_gpio_detect(struct snd_soc_jack_gpio *gpio)
 	else
 		report = 0;
 
+	if (gpio->jack_status_check)
+		report = gpio->jack_status_check();
+
 	snd_soc_jack_report(jack, report, gpio->report);
 }
 
-- 
1.6.0.4


More information about the Alsa-devel mailing list