static int wm5110_codec_probe(struct snd_soc_codec *codec)
{
++ struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
struct wm5110_priv *priv = snd_soc_codec_get_drvdata(codec);
- - int ret;
+ + int i, ret;
-- priv->core.arizona->dapm = &codec->dapm;
++ priv->core.arizona->dapm = dapm;
arizona_init_spk(codec);
arizona_init_gpio(codec);
arizona_init_mono(codec);
- - ret = snd_soc_add_codec_controls(codec, wm_adsp2_fw_controls, 8);
- - if (ret != 0)
- - return ret;
-
- snd_soc_dapm_disable_pin(&codec->dapm, "HAPTICS");
+ + for (i = 0; i < WM5110_NUM_ADSP; ++i) {
+ + ret = wm_adsp2_codec_probe(&priv->core.adsp[i], codec);
+ + if (ret)
+ + return ret;
+ + }
- snd_soc_dapm_disable_pin(&codec->dapm, "HAPTICS");
-
-- priv->core.arizona->dapm = &codec->dapm;
++ snd_soc_dapm_disable_pin(dapm, "HAPTICS");
return 0;
}