Loading sound/soc/fsl/fsl_easrc.c +10 −4 Original line number Diff line number Diff line Loading @@ -52,10 +52,13 @@ static int fsl_easrc_iec958_put_bits(struct snd_kcontrol *kcontrol, struct soc_mreg_control *mc = (struct soc_mreg_control *)kcontrol->private_value; unsigned int regval = ucontrol->value.integer.value[0]; int ret; ret = (easrc_priv->bps_iec958[mc->regbase] != regval); easrc_priv->bps_iec958[mc->regbase] = regval; return 0; return ret; } static int fsl_easrc_iec958_get_bits(struct snd_kcontrol *kcontrol, Loading Loading @@ -93,14 +96,17 @@ static int fsl_easrc_set_reg(struct snd_kcontrol *kcontrol, struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); struct soc_mreg_control *mc = (struct soc_mreg_control *)kcontrol->private_value; struct fsl_asrc *easrc = snd_soc_component_get_drvdata(component); unsigned int regval = ucontrol->value.integer.value[0]; bool changed; int ret; ret = snd_soc_component_write(component, mc->regbase, regval); if (ret < 0) ret = regmap_update_bits_check(easrc->regmap, mc->regbase, GENMASK(31, 0), regval, &changed); if (ret != 0) return ret; return 0; return changed; } #define SOC_SINGLE_REG_RW(xname, xreg) \ Loading Loading
sound/soc/fsl/fsl_easrc.c +10 −4 Original line number Diff line number Diff line Loading @@ -52,10 +52,13 @@ static int fsl_easrc_iec958_put_bits(struct snd_kcontrol *kcontrol, struct soc_mreg_control *mc = (struct soc_mreg_control *)kcontrol->private_value; unsigned int regval = ucontrol->value.integer.value[0]; int ret; ret = (easrc_priv->bps_iec958[mc->regbase] != regval); easrc_priv->bps_iec958[mc->regbase] = regval; return 0; return ret; } static int fsl_easrc_iec958_get_bits(struct snd_kcontrol *kcontrol, Loading Loading @@ -93,14 +96,17 @@ static int fsl_easrc_set_reg(struct snd_kcontrol *kcontrol, struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); struct soc_mreg_control *mc = (struct soc_mreg_control *)kcontrol->private_value; struct fsl_asrc *easrc = snd_soc_component_get_drvdata(component); unsigned int regval = ucontrol->value.integer.value[0]; bool changed; int ret; ret = snd_soc_component_write(component, mc->regbase, regval); if (ret < 0) ret = regmap_update_bits_check(easrc->regmap, mc->regbase, GENMASK(31, 0), regval, &changed); if (ret != 0) return ret; return 0; return changed; } #define SOC_SINGLE_REG_RW(xname, xreg) \ Loading