struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
        struct snd_soc_component *component = snd_soc_dapm_to_component(dapm);
        struct wm5110_priv *priv = snd_soc_codec_get_drvdata(codec);
+       struct arizona *arizona = priv->core.arizona;
        int i, ret;
 
-       priv->core.arizona->dapm = dapm;
+       arizona->dapm = dapm;
+       snd_soc_codec_init_regmap(codec, arizona->regmap);
 
        ret = arizona_init_spk(codec);
        if (ret < 0)
        ARIZONA_DAC_DIGITAL_VOLUME_6R,
 };
 
-static struct regmap *wm5110_get_regmap(struct device *dev)
-{
-       struct wm5110_priv *priv = dev_get_drvdata(dev);
-
-       return priv->core.arizona->regmap;
-}
-
 static const struct snd_soc_codec_driver soc_codec_dev_wm5110 = {
        .probe = wm5110_codec_probe,
        .remove = wm5110_codec_remove,
-       .get_regmap = wm5110_get_regmap,
 
        .idle_bias_off = true,