From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Current soc_probe_dai() is using deep nested condition. Thus, it is difficult to read/understand. This patch simplification it.
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com --- sound/soc/soc-core.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 9c65477..7687515 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1619,22 +1619,21 @@ static int soc_probe_link_components(struct snd_soc_card *card,
static int soc_probe_dai(struct snd_soc_dai *dai, int order) { - int ret; + if (dai->probed || + dai->driver->probe_order != order) + return 0;
- if (!dai->probed && dai->driver->probe_order == order) { - if (dai->driver->probe) { - ret = dai->driver->probe(dai); - if (ret < 0) { - dev_err(dai->dev, - "ASoC: failed to probe DAI %s: %d\n", - dai->name, ret); - return ret; - } + if (dai->driver->probe) { + int ret = dai->driver->probe(dai); + if (ret < 0) { + dev_err(dai->dev, "ASoC: failed to probe DAI %s: %d\n", + dai->name, ret); + return ret; } - - dai->probed = 1; }
+ dai->probed = 1; + return 0; }