From: Philipp Zabel Date: Tue, 3 Mar 2009 15:10:52 +0000 (+0100) Subject: ASoC: UDA1380: DATAI is slave only X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=5f2a9384a9291d898b4bf85c4fbf497eef582977;p=linux-2.6-omap-h63xx.git ASoC: UDA1380: DATAI is slave only Only allow SND_SOC_DAIFMT_CBS_CFS for the playback DAI. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown --- diff --git a/sound/soc/codecs/uda1380.c b/sound/soc/codecs/uda1380.c index 1c9d2a75add..1b10f488328 100644 --- a/sound/soc/codecs/uda1380.c +++ b/sound/soc/codecs/uda1380.c @@ -399,8 +399,9 @@ static int uda1380_set_dai_fmt_both(struct snd_soc_dai *codec_dai, iface |= R01_SFORI_MSB | R01_SFORO_MSB; } - if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) == SND_SOC_DAIFMT_CBM_CFM) - iface |= R01_SIM; + /* DATAI is slave only, so in single-link mode, this has to be slave */ + if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) != SND_SOC_DAIFMT_CBS_CFS) + return -EINVAL; uda1380_write(codec, UDA1380_IFACE, iface); @@ -428,6 +429,10 @@ static int uda1380_set_dai_fmt_playback(struct snd_soc_dai *codec_dai, iface |= R01_SFORI_MSB; } + /* DATAI is slave only, so this has to be slave */ + if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) != SND_SOC_DAIFMT_CBS_CFS) + return -EINVAL; + uda1380_write(codec, UDA1380_IFACE, iface); return 0;