ASoC: Use standard cache sync for wm8804
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
@@ -482,24 +482,6 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wm8804_sync_cache(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
short i;
|
|
||||||
u8 *cache;
|
|
||||||
|
|
||||||
if (!codec->cache_sync)
|
|
||||||
return;
|
|
||||||
|
|
||||||
codec->cache_only = 0;
|
|
||||||
cache = codec->reg_cache;
|
|
||||||
for (i = 0; i < codec->driver->reg_cache_size; i++) {
|
|
||||||
if (i == WM8804_RST_DEVID1 || cache[i] == wm8804_reg_defs[i])
|
|
||||||
continue;
|
|
||||||
snd_soc_write(codec, i, cache[i]);
|
|
||||||
}
|
|
||||||
codec->cache_sync = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int wm8804_set_bias_level(struct snd_soc_codec *codec,
|
static int wm8804_set_bias_level(struct snd_soc_codec *codec,
|
||||||
enum snd_soc_bias_level level)
|
enum snd_soc_bias_level level)
|
||||||
{
|
{
|
||||||
@@ -524,7 +506,7 @@ static int wm8804_set_bias_level(struct snd_soc_codec *codec,
|
|||||||
ret);
|
ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
wm8804_sync_cache(codec);
|
snd_soc_cache_sync(codec);
|
||||||
}
|
}
|
||||||
/* power down the OSC and the PLL */
|
/* power down the OSC and the PLL */
|
||||||
snd_soc_update_bits(codec, WM8804_PWRDN, 0x9, 0x9);
|
snd_soc_update_bits(codec, WM8804_PWRDN, 0x9, 0x9);
|
||||||
|
Reference in New Issue
Block a user