|
@@ -3999,8 +3999,6 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
|
|
|
|
|
wm8994->hubs.codec = codec;
|
|
|
|
|
|
- snd_soc_codec_set_cache_io(codec, control->regmap);
|
|
|
-
|
|
|
mutex_init(&wm8994->accdet_lock);
|
|
|
INIT_DELAYED_WORK(&wm8994->jackdet_bootstrap,
|
|
|
wm1811_jackdet_bootstrap);
|
|
@@ -4434,11 +4432,19 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+struct regmap *wm8994_get_regmap(struct device *dev)
|
|
|
+{
|
|
|
+ struct wm8994 *control = dev_get_drvdata(dev->parent);
|
|
|
+
|
|
|
+ return control->regmap;
|
|
|
+}
|
|
|
+
|
|
|
static struct snd_soc_codec_driver soc_codec_dev_wm8994 = {
|
|
|
.probe = wm8994_codec_probe,
|
|
|
.remove = wm8994_codec_remove,
|
|
|
.suspend = wm8994_codec_suspend,
|
|
|
.resume = wm8994_codec_resume,
|
|
|
+ .get_regmap = wm8994_get_regmap,
|
|
|
.set_bias_level = wm8994_set_bias_level,
|
|
|
};
|
|
|
|