mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-31 22:15:38 +00:00
ASoC: max98090: Reset codec on resume
Make sure we reset codec and clear any IRQs on resume. This matches the init sequence in probe. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
25b4ab430f
commit
46b0e97dcf
@ -2392,9 +2392,32 @@ static int max98090_runtime_suspend(struct device *dev)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int max98090_resume(struct device *dev)
|
||||
{
|
||||
struct max98090_priv *max98090 = dev_get_drvdata(dev);
|
||||
unsigned int status;
|
||||
|
||||
max98090_reset(max98090);
|
||||
|
||||
/* clear IRQ status */
|
||||
regmap_read(max98090->regmap, M98090_REG_DEVICE_STATUS, &status);
|
||||
|
||||
regcache_sync(max98090->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int max98090_suspend(struct device *dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct dev_pm_ops max98090_pm = {
|
||||
SET_RUNTIME_PM_OPS(max98090_runtime_suspend,
|
||||
max98090_runtime_resume, NULL)
|
||||
SET_SYSTEM_SLEEP_PM_OPS(max98090_suspend, max98090_resume)
|
||||
};
|
||||
|
||||
static const struct i2c_device_id max98090_i2c_id[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user