diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 54512880e191fd32e77fd2acf13567c765d7f174..50003b337722d28ff94732b6793db3c6847686f4 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c @@ -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) {