ASoC: fsl_audmux: Fix amixer write errors
[platform/kernel/linux-starfive.git] / sound / soc / fsl / fsl_audmix.c
index 43857b7..672148d 100644 (file)
@@ -199,18 +199,10 @@ static int fsl_audmix_put_out_src(struct snd_kcontrol *kcontrol,
 
 static const struct snd_kcontrol_new fsl_audmix_snd_controls[] = {
        /* FSL_AUDMIX_CTR controls */
-       {       .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
-               .name = "Mixing Clock Source",
-               .info = snd_soc_info_enum_double,
-               .access = SNDRV_CTL_ELEM_ACCESS_WRITE,
-               .put = fsl_audmix_put_mix_clk_src,
-               .private_value = (unsigned long)&fsl_audmix_enum[0] },
-       {       .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
-               .name = "Output Source",
-               .info = snd_soc_info_enum_double,
-               .access = SNDRV_CTL_ELEM_ACCESS_WRITE,
-               .put = fsl_audmix_put_out_src,
-               .private_value = (unsigned long)&fsl_audmix_enum[1] },
+       SOC_ENUM_EXT("Mixing Clock Source", fsl_audmix_enum[0],
+                    snd_soc_get_enum_double, fsl_audmix_put_mix_clk_src),
+       SOC_ENUM_EXT("Output Source", fsl_audmix_enum[1],
+                    snd_soc_get_enum_double, fsl_audmix_put_out_src),
        SOC_ENUM("Output Width", fsl_audmix_enum[2]),
        SOC_ENUM("Frame Rate Diff Error", fsl_audmix_enum[3]),
        SOC_ENUM("Clock Freq Diff Error", fsl_audmix_enum[4]),