aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8994.h
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm8994.h')
-rw-r--r--sound/soc/codecs/wm8994.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.h b/sound/soc/codecs/wm8994.h
index a962b72..6bcd95b 100644
--- a/sound/soc/codecs/wm8994.h
+++ b/sound/soc/codecs/wm8994.h
@@ -37,12 +37,23 @@ enum wm8994_vmid_mode {
WM8994_VMID_FORCE,
};
+#ifdef CONFIG_USE_ADC_DET
+typedef void (*wm1811_micdet_cb)(void *data);
+typedef void (*wm1811_mic_id_cb)(void *data, u16 status);
+#else
typedef void (*wm8958_micdet_cb)(u16 status, void *data);
+#endif
int wm8994_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
int micbias, int det, int shrt);
+#ifdef CONFIG_USE_ADC_DET
+int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
+ wm1811_micdet_cb cb, void *det_cb_data,
+ wm1811_mic_id_cb id_cb, void *id_cb_data);
+#else
int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
wm8958_micdet_cb cb, void *cb_data);
+#endif
#define WM8994_CACHE_SIZE 1570
@@ -86,6 +97,7 @@ struct wm8994_priv {
int sysclk_rate[2];
int mclk[2];
int aifclk[2];
+ int aifdiv[2];
struct wm8994_fll_config fll[2], fll_suspend[2];
struct completion fll_locked[2];
bool fll_locked_irq;
@@ -143,9 +155,17 @@ struct wm8994_priv {
bool jackdet;
int jackdet_mode;
+#ifndef CONFIG_USE_ADC_DET
wm8958_micdet_cb jack_cb;
+#endif
void *jack_cb_data;
int micdet_irq;
+#ifdef CONFIG_USE_ADC_DET
+ wm1811_micdet_cb micd_cb;
+ void *micd_cb_data;
+ wm1811_mic_id_cb mic_id_cb;
+ void *mic_id_cb_data;
+#endif
int revision;
struct wm8994_pdata *pdata;