ASoC: fsl_audmux: Fix amixer write errors
authorShengjiu Wang <shengjiu.wang@nxp.com>
Tue, 6 Sep 2022 06:49:21 +0000 (14:49 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 23 Sep 2022 16:54:10 +0000 (17:54 +0100)
This reverts commit 944c517b8c8388 ("ASoC: fsl_audmix: make clock and
output src write only").

There is error after making clock and output src write only

$amixer -c imxaudmix cset numid=1 1
amixer: Cannot read the given element from control sysdefault:3

Which is worse than before, so let's revert the change.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1662446961-20799-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
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]),