On Mon, Sep 14, 2020 at 08:24:34PM +0300, Viorel Suman (OSS) wrote: > From: Viorel Suman <viorel.suman@xxxxxxx> > > "alsactl -f state.conf store/restore" sequence fails because setting > "mixing clock source" and "output source" requires active TDM clock > being started for configuration propagation. Make these two controls > write only so that their values are not stored at "alsactl store". > > Signed-off-by: Viorel Suman <viorel.suman@xxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> > --- > sound/soc/fsl/fsl_audmix.c | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) > > diff --git a/sound/soc/fsl/fsl_audmix.c b/sound/soc/fsl/fsl_audmix.c > index a447baf..7ad5925 100644 > --- a/sound/soc/fsl/fsl_audmix.c > +++ b/sound/soc/fsl/fsl_audmix.c > @@ -199,10 +199,18 @@ 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 */ > - 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), > + { .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("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]), > -- > 2.7.4 >