diff options
author | Richard Fitzgerald <rf@opensource.cirrus.com> | 2023-07-18 17:46:25 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-07-18 21:46:55 +0300 |
commit | df4167d658d45946677f91d84e9d40570c875cb8 (patch) | |
tree | cfeeeadadec012da138a6a390312cd1f332f8b87 /sound/soc/codecs/cs35l56.c | |
parent | 4da4a7467f90a0272d2b14c40ea0345255c9b132 (diff) | |
download | linux-df4167d658d45946677f91d84e9d40570c875cb8.tar.xz |
ASoC: cs35l56: Patch soft registers to defaults
The soft (firmware) registers for volume/mute/posture are not reset by
a chip soft-reset, so use a regmap patch to set them to defaults.
cs35l56_reread_firmware_registers() has been removed. Its intent was to
use whatever the firmware set as a default. But the driver now patches the
defaults to the registers.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230718144625.39634-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/cs35l56.c')
-rw-r--r-- | sound/soc/codecs/cs35l56.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/codecs/cs35l56.c b/sound/soc/codecs/cs35l56.c index c03f9d3c9a13..e046fdd26b74 100644 --- a/sound/soc/codecs/cs35l56.c +++ b/sound/soc/codecs/cs35l56.c @@ -1572,8 +1572,9 @@ post_soft_reset: if (ret) return ret; - /* Populate soft registers in the regmap cache */ - cs35l56_reread_firmware_registers(cs35l56->dev, cs35l56->regmap); + ret = cs35l56_set_patch(cs35l56->regmap); + if (ret) + return ret; /* Registers could be dirty after soft reset or SoundWire enumeration */ regcache_sync(cs35l56->regmap); |