ASoC: 88pm860: Fix IO setup
diff mbox

Message ID 1393922364-31624-1-git-send-email-lars@metafoo.de
State Accepted
Commit 8eeb5c15131d7b5061c10423eda3ae4c68db4eaf
Delegated to: Mark Brown
Headers show

Commit Message

Lars-Peter Clausen March 4, 2014, 8:39 a.m. UTC
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").

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 sound/soc/codecs/88pm860x-codec.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Mark Brown March 10, 2014, 11:29 a.m. UTC | #1
On Tue, Mar 04, 2014 at 09:39:24AM +0100, Lars-Peter Clausen wrote:
> 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").

Applied, thanks.  Please do use Fixes:

Patch
diff mbox

diff --git a/sound/soc/codecs/88pm860x-codec.c b/sound/soc/codecs/88pm860x-codec.c
index 697d24b..8703244 100644
--- a/sound/soc/codecs/88pm860x-codec.c
+++ b/sound/soc/codecs/88pm860x-codec.c
@@ -1328,6 +1328,9 @@  static int pm860x_probe(struct snd_soc_codec *codec)
 	pm860x->codec = codec;
 
 	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++) {
 		ret = request_threaded_irq(pm860x->irq[i], NULL,