ASoC: Avoid direct register cache access when setting defaults
Directly accessing the register cache means that we can't use anything except a flat register cache so use snd_soc_update_bits(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
This commit is contained in:
@@ -414,7 +414,6 @@ static int wm8523_resume(struct snd_soc_codec *codec)
|
||||
static int wm8523_probe(struct snd_soc_codec *codec)
|
||||
{
|
||||
struct wm8523_priv *wm8523 = snd_soc_codec_get_drvdata(codec);
|
||||
u16 *reg_cache = codec->reg_cache;
|
||||
int ret, i;
|
||||
|
||||
codec->hw_write = (hw_write_t)i2c_master_send;
|
||||
@@ -471,8 +470,9 @@ static int wm8523_probe(struct snd_soc_codec *codec)
|
||||
}
|
||||
|
||||
/* Change some default settings - latch VU and enable ZC */
|
||||
reg_cache[WM8523_DAC_GAINR] |= WM8523_DACR_VU;
|
||||
reg_cache[WM8523_DAC_CTRL3] |= WM8523_ZC;
|
||||
snd_soc_update_bits(codec, WM8523_DAC_GAINR,
|
||||
WM8523_DACR_VU, WM8523_DACR_VU);
|
||||
snd_soc_update_bits(codec, WM8523_DAC_CTRL3, WM8523_ZC, WM8523_ZC);
|
||||
|
||||
wm8523_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
||||
|
||||
|
Referens i nytt ärende
Block a user