Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2dfadff6 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown
Browse files

ASoC: rt5677: Avoid duplicate the same test in each switch case



Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f55532a0
Loading
Loading
Loading
Loading
+5 −19
Original line number Diff line number Diff line
@@ -1241,60 +1241,46 @@ static int rt5677_dmic_use_asrc(struct snd_soc_dapm_widget *source,
		regmap_read(rt5677->regmap, RT5677_ASRC_5, &asrc_setting);
		asrc_setting = (asrc_setting & RT5677_AD_STO1_CLK_SEL_MASK) >>
				RT5677_AD_STO1_CLK_SEL_SFT;
		if (asrc_setting >= RT5677_CLK_SEL_I2S1_ASRC &&
			asrc_setting <= RT5677_CLK_SEL_I2S6_ASRC)
			return 1;
		break;

	case 10:
		regmap_read(rt5677->regmap, RT5677_ASRC_5, &asrc_setting);
		asrc_setting = (asrc_setting & RT5677_AD_STO2_CLK_SEL_MASK) >>
				RT5677_AD_STO2_CLK_SEL_SFT;
		if (asrc_setting >= RT5677_CLK_SEL_I2S1_ASRC &&
			asrc_setting <= RT5677_CLK_SEL_I2S6_ASRC)
			return 1;
		break;

	case 9:
		regmap_read(rt5677->regmap, RT5677_ASRC_5, &asrc_setting);
		asrc_setting = (asrc_setting & RT5677_AD_STO3_CLK_SEL_MASK) >>
				RT5677_AD_STO3_CLK_SEL_SFT;
		if (asrc_setting >= RT5677_CLK_SEL_I2S1_ASRC &&
			asrc_setting <= RT5677_CLK_SEL_I2S6_ASRC)
			return 1;
		break;

	case 8:
		regmap_read(rt5677->regmap, RT5677_ASRC_5, &asrc_setting);
		asrc_setting = (asrc_setting & RT5677_AD_STO4_CLK_SEL_MASK) >>
			RT5677_AD_STO4_CLK_SEL_SFT;
		if (asrc_setting >= RT5677_CLK_SEL_I2S1_ASRC &&
			asrc_setting <= RT5677_CLK_SEL_I2S6_ASRC)
			return 1;
		break;

	case 7:
		regmap_read(rt5677->regmap, RT5677_ASRC_6, &asrc_setting);
		asrc_setting = (asrc_setting & RT5677_AD_MONOL_CLK_SEL_MASK) >>
			RT5677_AD_MONOL_CLK_SEL_SFT;
		if (asrc_setting >= RT5677_CLK_SEL_I2S1_ASRC &&
			asrc_setting <= RT5677_CLK_SEL_I2S6_ASRC)
			return 1;
		break;

	case 6:
		regmap_read(rt5677->regmap, RT5677_ASRC_6, &asrc_setting);
		asrc_setting = (asrc_setting & RT5677_AD_MONOR_CLK_SEL_MASK) >>
			RT5677_AD_MONOR_CLK_SEL_SFT;
		if (asrc_setting >= RT5677_CLK_SEL_I2S1_ASRC &&
			asrc_setting <= RT5677_CLK_SEL_I2S6_ASRC)
			return 1;
		break;

	default:
		break;
		return 0;
	}

	if (asrc_setting >= RT5677_CLK_SEL_I2S1_ASRC &&
	    asrc_setting <= RT5677_CLK_SEL_I2S6_ASRC)
		return 1;

	return 0;
}