wm8804_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
 
-       snd_soc_add_controls(codec, wm8804_snd_controls,
-                            ARRAY_SIZE(wm8804_snd_controls));
        return 0;
 
 err_reg_enable:
        .reg_cache_size = ARRAY_SIZE(wm8804_reg_defs),
        .reg_word_size = sizeof(u8),
        .reg_cache_default = wm8804_reg_defs,
-       .volatile_register = wm8804_volatile
+       .volatile_register = wm8804_volatile,
+
+       .controls = wm8804_snd_controls,
+       .num_controls = ARRAY_SIZE(wm8804_snd_controls),
 };
 
 static const struct of_device_id wm8804_of_match[] = {