diff options
author | Nikesh Oswal <nikesh@opensource.wolfsonmicro.com> | 2014-08-13 05:05:45 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-08-16 18:08:13 -0400 |
commit | dfe8f1f3f22f9922e773ae64f5621f290cb26023 (patch) | |
tree | 50f138f8d379d938cb2d0fbd9b6a71efd4430665 /sound/soc/codecs | |
parent | 7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9 (diff) |
ASoC: wm8994: Demux the microphone detection IRQ
Current code only allows direct routing of the WM8994 microphone
detection signal to a GPIO this change adds support to demux the
interrupt from the main interrupt line of the codec.
Signed-off-by: Nikesh Oswal <nikesh@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/wm8994.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 6cc0566dc29a..1fcb9f3f3097 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c | |||
@@ -4082,17 +4082,23 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) | |||
4082 | 4082 | ||
4083 | switch (control->type) { | 4083 | switch (control->type) { |
4084 | case WM8994: | 4084 | case WM8994: |
4085 | if (wm8994->micdet_irq) { | 4085 | if (wm8994->micdet_irq) |
4086 | ret = request_threaded_irq(wm8994->micdet_irq, NULL, | 4086 | ret = request_threaded_irq(wm8994->micdet_irq, NULL, |
4087 | wm8994_mic_irq, | 4087 | wm8994_mic_irq, |
4088 | IRQF_TRIGGER_RISING, | 4088 | IRQF_TRIGGER_RISING, |
4089 | "Mic1 detect", | 4089 | "Mic1 detect", |
4090 | wm8994); | 4090 | wm8994); |
4091 | if (ret != 0) | 4091 | else |
4092 | dev_warn(codec->dev, | 4092 | ret = wm8994_request_irq(wm8994->wm8994, |
4093 | "Failed to request Mic1 detect IRQ: %d\n", | 4093 | WM8994_IRQ_MIC1_DET, |
4094 | ret); | 4094 | wm8994_mic_irq, "Mic 1 detect", |
4095 | } | 4095 | wm8994); |
4096 | |||
4097 | if (ret != 0) | ||
4098 | dev_warn(codec->dev, | ||
4099 | "Failed to request Mic1 detect IRQ: %d\n", | ||
4100 | ret); | ||
4101 | |||
4096 | 4102 | ||
4097 | ret = wm8994_request_irq(wm8994->wm8994, | 4103 | ret = wm8994_request_irq(wm8994->wm8994, |
4098 | WM8994_IRQ_MIC1_SHRT, | 4104 | WM8994_IRQ_MIC1_SHRT, |