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
This commit is contained in:
Lars-Peter Clausen 2014-03-04 09:39:24 +01:00 коммит произвёл Mark Brown
Родитель 38dbfb59d1
Коммит 8eeb5c1513
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -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,