ASoC: rt5651: Fix regcache sync errors on resume
authorHans de Goede <hdegoede@redhat.com>
Sun, 18 Feb 2018 22:01:44 +0000 (23:01 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 16 Jun 2018 21:22:20 +0000 (22:22 +0100)
commit 2d30e9494f1ea320aaaad0cff9ddd92c87eac355 upstream.

The ALC5651 does not like multi-write accesses, avoid them. This fixes:

rt5651 i2c-10EC5651:00: Unable to sync registers 0x27-0x28. -121

Errors on resume (and all registers after the registers in the error not
being synced).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/soc/codecs/rt5651.c

index ea4b1c652a26cecdd29ec95920840008544510c8..44e2ecb9bf5a12a80b044c5b1420306564f8a3ef 100644 (file)
@@ -1732,6 +1732,7 @@ static const struct regmap_config rt5651_regmap = {
        .num_reg_defaults = ARRAY_SIZE(rt5651_reg),
        .ranges = rt5651_ranges,
        .num_ranges = ARRAY_SIZE(rt5651_ranges),
+       .use_single_rw = true,
 };
 
 static const struct i2c_device_id rt5651_i2c_id[] = {