ASoC: rsnd: enable to use multi parameter on rsnd_dai_call/rsnd_mod_call
rsnd_mod_ops would like to come to use multi parameter. modify macro to enable it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Родитель
b42fccf69c
Коммит
68b6af3656
|
@ -338,7 +338,7 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod)
|
||||||
/*
|
/*
|
||||||
* rsnd_dai functions
|
* rsnd_dai functions
|
||||||
*/
|
*/
|
||||||
#define __rsnd_mod_call(mod, func, rdai) \
|
#define __rsnd_mod_call(mod, func, rdai...) \
|
||||||
({ \
|
({ \
|
||||||
struct rsnd_priv *priv = rsnd_mod_to_priv(mod); \
|
struct rsnd_priv *priv = rsnd_mod_to_priv(mod); \
|
||||||
struct device *dev = rsnd_priv_to_dev(priv); \
|
struct device *dev = rsnd_priv_to_dev(priv); \
|
||||||
|
@ -347,12 +347,12 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod)
|
||||||
(mod)->ops->func(mod, rdai); \
|
(mod)->ops->func(mod, rdai); \
|
||||||
})
|
})
|
||||||
|
|
||||||
#define rsnd_mod_call(mod, func, rdai) \
|
#define rsnd_mod_call(mod, func, rdai...) \
|
||||||
(!(mod) ? -ENODEV : \
|
(!(mod) ? -ENODEV : \
|
||||||
!((mod)->ops->func) ? 0 : \
|
!((mod)->ops->func) ? 0 : \
|
||||||
__rsnd_mod_call(mod, func, (rdai)))
|
__rsnd_mod_call(mod, func, rdai))
|
||||||
|
|
||||||
#define rsnd_dai_call(rdai, io, fn) \
|
#define rsnd_dai_call(fn, io, rdai...) \
|
||||||
({ \
|
({ \
|
||||||
struct rsnd_mod *mod; \
|
struct rsnd_mod *mod; \
|
||||||
int ret = 0, i; \
|
int ret = 0, i; \
|
||||||
|
@ -360,7 +360,7 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod)
|
||||||
mod = (io)->mod[i]; \
|
mod = (io)->mod[i]; \
|
||||||
if (!mod) \
|
if (!mod) \
|
||||||
continue; \
|
continue; \
|
||||||
ret = rsnd_mod_call(mod, fn, (rdai)); \
|
ret = rsnd_mod_call(mod, fn, rdai); \
|
||||||
if (ret < 0) \
|
if (ret < 0) \
|
||||||
break; \
|
break; \
|
||||||
} \
|
} \
|
||||||
|
@ -510,20 +510,20 @@ static int rsnd_soc_dai_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto dai_trigger_end;
|
goto dai_trigger_end;
|
||||||
|
|
||||||
ret = rsnd_dai_call(rdai, io, init);
|
ret = rsnd_dai_call(init, io, rdai);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto dai_trigger_end;
|
goto dai_trigger_end;
|
||||||
|
|
||||||
ret = rsnd_dai_call(rdai, io, start);
|
ret = rsnd_dai_call(start, io, rdai);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto dai_trigger_end;
|
goto dai_trigger_end;
|
||||||
break;
|
break;
|
||||||
case SNDRV_PCM_TRIGGER_STOP:
|
case SNDRV_PCM_TRIGGER_STOP:
|
||||||
ret = rsnd_dai_call(rdai, io, stop);
|
ret = rsnd_dai_call(stop, io, rdai);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto dai_trigger_end;
|
goto dai_trigger_end;
|
||||||
|
|
||||||
ret = rsnd_dai_call(rdai, io, quit);
|
ret = rsnd_dai_call(quit, io, rdai);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto dai_trigger_end;
|
goto dai_trigger_end;
|
||||||
|
|
||||||
|
@ -951,11 +951,11 @@ static int rsnd_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
for_each_rsnd_dai(rdai, priv, i) {
|
for_each_rsnd_dai(rdai, priv, i) {
|
||||||
ret = rsnd_dai_call(rdai, &rdai->playback, probe);
|
ret = rsnd_dai_call(probe, &rdai->playback, rdai);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = rsnd_dai_call(rdai, &rdai->capture, probe);
|
ret = rsnd_dai_call(probe, &rdai->capture, rdai);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -998,11 +998,11 @@ static int rsnd_remove(struct platform_device *pdev)
|
||||||
pm_runtime_disable(&pdev->dev);
|
pm_runtime_disable(&pdev->dev);
|
||||||
|
|
||||||
for_each_rsnd_dai(rdai, priv, i) {
|
for_each_rsnd_dai(rdai, priv, i) {
|
||||||
ret = rsnd_dai_call(rdai, &rdai->playback, remove);
|
ret = rsnd_dai_call(remove, &rdai->playback, rdai);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = rsnd_dai_call(rdai, &rdai->capture, remove);
|
ret = rsnd_dai_call(remove, &rdai->capture, rdai);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче