[alsa-devel] [PATCH] ASoC: uda1380: Avoid accessing i2c bus when codec is disabled
set_dai_fmt_both() callback is called from snd_soc_runtime_set_dai_fmt() which is called from snd_soc_register_card(), but at this time codec is not powered on yet. Replace direct i2c write with regcache write.
Signed-off-by: Vasily Khoruzhick anarsoul@gmail.com --- sound/soc/codecs/uda1380.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/uda1380.c b/sound/soc/codecs/uda1380.c index dc7778b..c3c33bd 100644 --- a/sound/soc/codecs/uda1380.c +++ b/sound/soc/codecs/uda1380.c @@ -437,7 +437,7 @@ static int uda1380_set_dai_fmt_both(struct snd_soc_dai *codec_dai, if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) != SND_SOC_DAIFMT_CBS_CFS) return -EINVAL;
- uda1380_write(codec, UDA1380_IFACE, iface); + uda1380_write_reg_cache(codec, UDA1380_IFACE, iface);
return 0; }
On Sun, May 03, 2015 at 09:11:47PM +0300, Vasily Khoruzhick wrote:
set_dai_fmt_both() callback is called from snd_soc_runtime_set_dai_fmt() which is called from snd_soc_register_card(), but at this time codec is not powered on yet. Replace direct i2c write with regcache write.
Applied, thanks. Of course the most robust thing would be to convert to regmap and mark the device cache only when appropriate...
participants (2)
-
Mark Brown
-
Vasily Khoruzhick