Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d53d59ec authored by Bard Liao's avatar Bard Liao Committed by Mark Brown
Browse files

ASoC: rt286: Restore default in probe



RT286 can't do register reset. If the hardware power is still existing
in power off, rt286 will keep the register settings. So, we need to
restore the default register value in probe to make sure the cache value
is the same as the real register value.

Signed-off-by: default avatarBard Liao <bardliao@realtek.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 143526ee
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1250,6 +1250,14 @@ static int rt286_i2c_probe(struct i2c_client *i2c,
	rt286->i2c = i2c;
	i2c_set_clientdata(i2c, rt286);

	/* restore codec default */
	for (i = 0; i < INDEX_CACHE_SIZE; i++)
		regmap_write(rt286->regmap, rt286->index_cache[i].reg,
				rt286->index_cache[i].def);
	for (i = 0; i < ARRAY_SIZE(rt286_reg); i++)
		regmap_write(rt286->regmap, rt286_reg[i].reg,
				rt286_reg[i].def);

	if (pdata)
		rt286->pdata = *pdata;