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); }