ASoC: simple-card: fix __asoc_simple_card_dai_init
If the CPU/CODEC DAI set_sysclk() is not support, the -ENOTSUPP will returnd. Here do the check like set_fmt(). Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
b367a3252b
commit
4763ebe226
|
@ -27,21 +27,29 @@ static int __asoc_simple_card_dai_init(struct snd_soc_dai *dai,
|
||||||
struct asoc_simple_dai *set,
|
struct asoc_simple_dai *set,
|
||||||
unsigned int daifmt)
|
unsigned int daifmt)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret;
|
||||||
|
|
||||||
daifmt |= set->fmt;
|
daifmt |= set->fmt;
|
||||||
|
|
||||||
if (daifmt)
|
if (daifmt) {
|
||||||
ret = snd_soc_dai_set_fmt(dai, daifmt);
|
ret = snd_soc_dai_set_fmt(dai, daifmt);
|
||||||
|
if (ret && ret != -ENOTSUPP) {
|
||||||
if (ret == -ENOTSUPP) {
|
dev_err(dai->dev, "simple-card: set_fmt error\n");
|
||||||
dev_dbg(dai->dev, "ASoC: set_fmt is not supported\n");
|
goto err;
|
||||||
ret = 0;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ret && set->sysclk)
|
if (set->sysclk) {
|
||||||
ret = snd_soc_dai_set_sysclk(dai, 0, set->sysclk, 0);
|
ret = snd_soc_dai_set_sysclk(dai, 0, set->sysclk, 0);
|
||||||
|
if (ret && ret != -ENOTSUPP) {
|
||||||
|
dev_err(dai->dev, "simple-card: set_sysclk error\n");
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
err:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue