mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 21:45:45 +02:00
ASoC: tas2770: Reinit regcache on reset
[ Upstream commit0a0342ede3] On probe of the ASoC component, the device is reset but the regcache is retained. This means the regcache gets out of sync if the codec is rebound to a sound card for a second time. Fix it by reinitializing the regcache to defaults after the device is reset. Fixes:b0bcbe6157("ASoC: tas2770: Fix calling reset in probe") Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Link: https://lore.kernel.org/r/20220919173453.84292-1-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
8884a192f9
commit
359e73edd3
|
|
@ -495,6 +495,8 @@ static struct snd_soc_dai_driver tas2770_dai_driver[] = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct regmap_config tas2770_i2c_regmap;
|
||||||
|
|
||||||
static int tas2770_codec_probe(struct snd_soc_component *component)
|
static int tas2770_codec_probe(struct snd_soc_component *component)
|
||||||
{
|
{
|
||||||
struct tas2770_priv *tas2770 =
|
struct tas2770_priv *tas2770 =
|
||||||
|
|
@ -508,6 +510,7 @@ static int tas2770_codec_probe(struct snd_soc_component *component)
|
||||||
}
|
}
|
||||||
|
|
||||||
tas2770_reset(tas2770);
|
tas2770_reset(tas2770);
|
||||||
|
regmap_reinit_cache(tas2770->regmap, &tas2770_i2c_regmap);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user