[alsa-devel] [PATCH] ASoC: Add jack_status_check callback function
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@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); }
On Thu, Nov 12, 2009 at 05:14:04PM +0900, Joonyoung Shim wrote:
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.
Applied, thanks.
Obviously with some jack detection methods you'd just be using multiple GPIOs but that's not going to work for everything. If someone needs platform data of some kind passing into the jack that could be added later.
participants (2)
-
Joonyoung Shim
-
Mark Brown