ASoC: soc-dapm.c: tidyup error handling on snd_soc_dapm_add_route()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 17 Oct 2022 23:36:35 +0000 (23:36 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 18 Oct 2022 18:16:36 +0000 (19:16 +0100)
commitb913e9f4b313469dac7ae3083356baee3db4454f
treef2e5a42c105754284b682adc21814162c052865a
parent03e13efbb2113412ae7879258a82bdae86fc72e2
ASoC: soc-dapm.c: tidyup error handling on snd_soc_dapm_add_route()

Current error handling on snd_soc_dapm_add_route() has some wastes.
It indicates *own* error message *only* for sink or source,
and return error directly at (A). OTOH, it has similar error message at
(B) which indicates *both* sink/source.

And more, (A) is using dev_err(), (B) is using dev_warn().
(B) is caring prefix, but (A) is not.

(X) int snd_soc_dapm_add_route(...)
{
...
if (wsource == NULL) {
(A) dev_err(...);
return -ENODEV;
}
if (wsink == NULL) {
(A) dev_err(...);
return -ENODEV;
}

...

ret = snd_soc_dapm_add_path(...);
if (ret)
(B) goto err;

return 0;
err:
(B) dev_warn(...);
return ret;
}

Above snd_soc_dapm_add_route() (= X) is called from
snd_soc_dapm_add_routes() (= Y).
(X) will indicate error message by itself, but (Y) will indicate
own error message at (C). (C) is duplicated.

(Y) int snd_soc_dapm_add_routes(...)
{
...
for (...) {
(X) int r = snd_soc_dapm_add_route(...);
if (r < 0) {
(C) dev_err(...);
ret = r;
}
...
}
...
}

This patch (1) merges these error message (= A,B) into one,
(2) use dev_err(), (3) remove duplicate error message (= C) from
snd_soc_dapm_add_routes().

By this patch, it will indicate error message like this.

- error message with prefix
- not found widget will have "(*)" mark
- it indicates [control] if exists.

ex)
[if no sink with control]

ASoC: Failed to add route SOURCE -> [CTRL] -> SINK(*)

[if no source without control]

ASoC: Failed to add route SOURCE(*) -> SINK

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87zgduowe5.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-dapm.c