mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-23 09:56:00 +00:00
ASoC: tas2552: Fix PM sequencing
In the pm suspend/resume it is better to disable the GPIO after the regmap_cache setting calls so that if the call is interrupted the new reg values will be cached and set on resume. Also add pm_runtime_put in the remove call. Signed-off-by: Dan Murphy <dmurphy@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
5df7f71d5c
commit
e295a4a43e
@ -239,12 +239,12 @@ static int tas2552_runtime_suspend(struct device *dev)
|
||||
|
||||
tas2552_sw_shutdown(tas2552, 0);
|
||||
|
||||
if (tas2552->enable_gpio)
|
||||
gpiod_set_value(tas2552->enable_gpio, 0);
|
||||
|
||||
regcache_cache_only(tas2552->regmap, true);
|
||||
regcache_mark_dirty(tas2552->regmap);
|
||||
|
||||
if (tas2552->enable_gpio)
|
||||
gpiod_set_value(tas2552->enable_gpio, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -382,6 +382,8 @@ static int tas2552_codec_remove(struct snd_soc_codec *codec)
|
||||
{
|
||||
struct tas2552_data *tas2552 = snd_soc_codec_get_drvdata(codec);
|
||||
|
||||
pm_runtime_put(codec->dev);
|
||||
|
||||
if (tas2552->enable_gpio)
|
||||
gpiod_set_value(tas2552->enable_gpio, 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user