Skip to content

Commit

Permalink
ASoC: core: allow a dt node to provide several components
Browse files Browse the repository at this point in the history
At the moment, querying the dai_name will stop of the first component
matching the dt node. This does not allow a device (single dt node) to
provide several ASoC components which could then be used through DT.

This change let the search go on if the xlate function of the component
returns an error, giving the possibility to another component to match
and return the dai_name.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20200213155159.3235792-2-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Jerome Brunet authored and Mark Brown committed Feb 13, 2020
1 parent 0c48a65 commit 1dfa5a5
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions sound/soc/soc-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -3102,6 +3102,14 @@ int snd_soc_get_dai_name(struct of_phandle_args *args,
*dai_name = dai->driver->name;
if (!*dai_name)
*dai_name = pos->name;
} else if (ret) {
/*
* if another error than ENOTSUPP is returned go on and
* check if another component is provided with the same
* node. This may happen if a device provides several
* components
*/
continue;
}

break;
Expand Down

0 comments on commit 1dfa5a5

Please sign in to comment.