Explorar o código

ASoC: 88pm860: Fix IO setup

The 88pm860 is a MFD device and the CODEC driver is using the regmap struct of
the parent device, hence automatic IO setup will not work and we need to
manually call snd_soc_codec_set_cache_io(). The issue was introduced in commit
f9ded3b2e7 ("ASoC: 88pm860x: Use regmap for I/O").

Fixes: f9ded3b2e7 ("ASoC: 88pm860x: Use regmap for I/O").
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
Lars-Peter Clausen %!s(int64=11) %!d(string=hai) anos
pai
achega
8eeb5c1513
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      sound/soc/codecs/88pm860x-codec.c

+ 3 - 0
sound/soc/codecs/88pm860x-codec.c

@@ -1328,6 +1328,9 @@ static int pm860x_probe(struct snd_soc_codec *codec)
 	pm860x->codec = codec;
 	pm860x->codec = codec;
 
 
 	codec->control_data = pm860x->regmap;
 	codec->control_data = pm860x->regmap;
+	ret = snd_soc_codec_set_cache_io(codec, 0, 0, SND_SOC_REGMAP);
+	if (ret)
+		return ret;
 
 
 	for (i = 0; i < 4; i++) {
 	for (i = 0; i < 4; i++) {
 		ret = request_threaded_irq(pm860x->irq[i], NULL,
 		ret = request_threaded_irq(pm860x->irq[i], NULL,