mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
ASoC: sgtl5000: Make device cache only when powered off
When the regulators have been disabled mark the device as cache only so that we don't try to interact with the hardware. Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
dd4d2d6dfb
commit
2bdc1bb2b4
@ -907,10 +907,25 @@ static int sgtl5000_set_bias_level(struct snd_soc_codec *codec,
|
||||
if (ret)
|
||||
return ret;
|
||||
udelay(10);
|
||||
|
||||
regcache_cache_only(sgtl5000->regmap, false);
|
||||
|
||||
ret = regcache_sync(sgtl5000->regmap);
|
||||
if (ret != 0) {
|
||||
dev_err(codec->dev,
|
||||
"Failed to restore cache: %d\n", ret);
|
||||
|
||||
regcache_cache_only(sgtl5000->regmap, true);
|
||||
regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies),
|
||||
sgtl5000->supplies);
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case SND_SOC_BIAS_OFF:
|
||||
regcache_cache_only(sgtl5000->regmap, true);
|
||||
regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies),
|
||||
sgtl5000->supplies);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user