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,
|
||||
unsigned int daifmt)
|
||||
{
|
||||
int ret = 0;
|
||||
int ret;
|
||||
|
||||
daifmt |= set->fmt;
|
||||
|
||||
if (daifmt)
|
||||
if (daifmt) {
|
||||
ret = snd_soc_dai_set_fmt(dai, daifmt);
|
||||
|
||||
if (ret == -ENOTSUPP) {
|
||||
dev_dbg(dai->dev, "ASoC: set_fmt is not supported\n");
|
||||
ret = 0;
|
||||
if (ret && ret != -ENOTSUPP) {
|
||||
dev_err(dai->dev, "simple-card: set_fmt error\n");
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
||||
if (!ret && set->sysclk)
|
||||
if (set->sysclk) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue