ASoC: codecs: rt721-sdca-sdw: Simplify regcache error handling in resume

Calling regcache_mark_dirty() on error is redundant as regcache_sync()
retains dirty state on failure, and any write in cache_only mode marks
the cache dirty anyway.
Restore cache_only directly on error for active regmaps and drop the
redundant regcache_mark_dirty() calls. This also removes goto labels
to prepare for guard cleanup.

Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Link: https://patch.msgid.link/20260721102600.523199-28-phucduc.bui@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
bui duc phuc 2026-07-21 17:25:58 +07:00 committed by Mark Brown
parent 32ac6377ce
commit 2df329044c
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -511,22 +511,20 @@ static int rt721_sdca_dev_resume(struct device *dev)
regcache_cache_only(rt721->regmap, false);
ret = regcache_sync(rt721->regmap);
if (ret)
goto err_sync;
if (ret) {
regcache_cache_only(rt721->regmap, true);
return ret;
}
regcache_cache_only(rt721->mbq_regmap, false);
ret = regcache_sync(rt721->mbq_regmap);
if (ret)
goto err_sync;
if (ret) {
regcache_cache_only(rt721->mbq_regmap, true);
regcache_cache_only(rt721->regmap, true);
return ret;
}
return 0;
err_sync:
regcache_cache_only(rt721->regmap, true);
regcache_cache_only(rt721->mbq_regmap, true);
regcache_mark_dirty(rt721->regmap);
regcache_mark_dirty(rt721->mbq_regmap);
return ret;
}
static const struct dev_pm_ops rt721_sdca_pm = {