ASoC: si476x: Fix IO setup

The si476x 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 commit
d6173df35f ("ASoC: si476x: Remove custom register I/O implementation")

Fixes: d6173df35f ("ASoC: si476x: Remove custom register I/O implementation")
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:41:53 +01:00 committed by Mark Brown
parent 38dbfb59d1
commit 58d4d3c976

View file

@ -210,7 +210,7 @@ static int si476x_codec_hw_params(struct snd_pcm_substream *substream,
static int si476x_codec_probe(struct snd_soc_codec *codec) static int si476x_codec_probe(struct snd_soc_codec *codec)
{ {
codec->control_data = dev_get_regmap(codec->dev->parent, NULL); codec->control_data = dev_get_regmap(codec->dev->parent, NULL);
return 0; return snd_soc_codec_set_cache_io(codec, 0, 0, SND_SOC_REGMAP);
} }
static struct snd_soc_dai_ops si476x_dai_ops = { static struct snd_soc_dai_ops si476x_dai_ops = {