ASoC: rt5677: Use the regmap functions instead of the snd_soc functions
authorOder Chiou <oder_chiou@realtek.com>
Tue, 13 Jan 2015 03:13:14 +0000 (11:13 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 14 Jan 2015 17:19:51 +0000 (17:19 +0000)
The patch uses the regmap functions instead of the snd_soc functions in some
cases.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5677.c

index 3b32c3e..f6affba 100644 (file)
@@ -924,6 +924,8 @@ static int is_sys_clk_from_pll(struct snd_soc_dapm_widget *source,
 static int is_using_asrc(struct snd_soc_dapm_widget *source,
                         struct snd_soc_dapm_widget *sink)
 {
+       struct snd_soc_codec *codec = source->codec;
+       struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
        unsigned int reg, shift, val;
 
        if (source->reg == RT5677_ASRC_1) {
@@ -990,7 +992,9 @@ static int is_using_asrc(struct snd_soc_dapm_widget *source,
                }
        }
 
-       val = (snd_soc_read(source->codec, reg) >> shift) & 0xf;
+       regmap_read(rt5677->regmap, reg, &val);
+       val = (val >> shift) & 0xf;
+
        switch (val) {
        case 1 ... 6:
                return 1;
@@ -4087,6 +4091,7 @@ static int rt5677_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
                        unsigned int rx_mask, int slots, int slot_width)
 {
        struct snd_soc_codec *codec = dai->codec;
+       struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
        unsigned int val = 0;
 
        if (rx_mask || tx_mask)
@@ -4124,10 +4129,12 @@ static int rt5677_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
 
        switch (dai->id) {
        case RT5677_AIF1:
-               snd_soc_update_bits(codec, RT5677_TDM1_CTRL1, 0x1f00, val);
+               regmap_update_bits(rt5677->regmap, RT5677_TDM1_CTRL1, 0x1f00,
+                       val);
                break;
        case RT5677_AIF2:
-               snd_soc_update_bits(codec, RT5677_TDM2_CTRL1, 0x1f00, val);
+               regmap_update_bits(rt5677->regmap, RT5677_TDM2_CTRL1, 0x1f00,
+                       val);
                break;
        default:
                break;