| From 66906c2c256667fb95ba5397288fd0b4df50dd6e Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Thu, 8 May 2014 17:44:41 -0700 |
| Subject: 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> |
| (cherry picked from commit 68b6af3656a1f3303cca094a19e26653fad1853a) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/sh/rcar/core.c | 26 +++++++++++++------------- |
| 1 file changed, 13 insertions(+), 13 deletions(-) |
| |
| --- a/sound/soc/sh/rcar/core.c |
| +++ b/sound/soc/sh/rcar/core.c |
| @@ -337,7 +337,7 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod) |
| /* |
| * 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 device *dev = rsnd_priv_to_dev(priv); \ |
| @@ -346,12 +346,12 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod) |
| (mod)->ops->func(mod, rdai); \ |
| }) |
| |
| -#define rsnd_mod_call(mod, func, rdai) \ |
| +#define rsnd_mod_call(mod, func, rdai...) \ |
| (!(mod) ? -ENODEV : \ |
| !((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; \ |
| int ret = 0, i; \ |
| @@ -359,7 +359,7 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod) |
| mod = (io)->mod[i]; \ |
| if (!mod) \ |
| continue; \ |
| - ret = rsnd_mod_call(mod, fn, (rdai)); \ |
| + ret = rsnd_mod_call(mod, fn, rdai); \ |
| if (ret < 0) \ |
| break; \ |
| } \ |
| @@ -509,20 +509,20 @@ static int rsnd_soc_dai_trigger(struct s |
| if (ret < 0) |
| goto dai_trigger_end; |
| |
| - ret = rsnd_dai_call(rdai, io, init); |
| + ret = rsnd_dai_call(init, io, rdai); |
| if (ret < 0) |
| goto dai_trigger_end; |
| |
| - ret = rsnd_dai_call(rdai, io, start); |
| + ret = rsnd_dai_call(start, io, rdai); |
| if (ret < 0) |
| goto dai_trigger_end; |
| break; |
| case SNDRV_PCM_TRIGGER_STOP: |
| - ret = rsnd_dai_call(rdai, io, stop); |
| + ret = rsnd_dai_call(stop, io, rdai); |
| if (ret < 0) |
| goto dai_trigger_end; |
| |
| - ret = rsnd_dai_call(rdai, io, quit); |
| + ret = rsnd_dai_call(quit, io, rdai); |
| if (ret < 0) |
| goto dai_trigger_end; |
| |
| @@ -949,11 +949,11 @@ static int rsnd_probe(struct platform_de |
| } |
| |
| 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) |
| return ret; |
| |
| - ret = rsnd_dai_call(rdai, &rdai->capture, probe); |
| + ret = rsnd_dai_call(probe, &rdai->capture, rdai); |
| if (ret) |
| return ret; |
| } |
| @@ -996,11 +996,11 @@ static int rsnd_remove(struct platform_d |
| pm_runtime_disable(&pdev->dev); |
| |
| 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) |
| return ret; |
| |
| - ret = rsnd_dai_call(rdai, &rdai->capture, remove); |
| + ret = rsnd_dai_call(remove, &rdai->capture, rdai); |
| if (ret) |
| return ret; |
| } |