|
@@ -3064,18 +3064,20 @@ static void wm8994_mic_work(struct work_struct *work)
|
|
|
struct wm8994_priv *priv = container_of(work,
|
|
|
struct wm8994_priv,
|
|
|
mic_work.work);
|
|
|
- struct snd_soc_codec *codec = priv->codec;
|
|
|
- int reg;
|
|
|
+ struct regmap *regmap = priv->wm8994->regmap;
|
|
|
+ struct device *dev = priv->wm8994->dev;
|
|
|
+ unsigned int reg;
|
|
|
+ int ret;
|
|
|
int report;
|
|
|
|
|
|
- reg = snd_soc_read(codec, WM8994_INTERRUPT_RAW_STATUS_2);
|
|
|
- if (reg < 0) {
|
|
|
- dev_err(codec->dev, "Failed to read microphone status: %d\n",
|
|
|
- reg);
|
|
|
+ ret = regmap_read(regmap, WM8994_INTERRUPT_RAW_STATUS_2, ®);
|
|
|
+ if (ret < 0) {
|
|
|
+ dev_err(dev, "Failed to read microphone status: %d\n",
|
|
|
+ ret);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- dev_dbg(codec->dev, "Microphone status: %x\n", reg);
|
|
|
+ dev_dbg(dev, "Microphone status: %x\n", reg);
|
|
|
|
|
|
report = 0;
|
|
|
if (reg & WM8994_MIC1_DET_STS) {
|