diff options
author | Charles Keepax <ckeepax@opensource.cirrus.com> | 2022-05-19 17:43:18 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-06-06 13:34:22 +0200 |
commit | 28086d05ada6d03daa886aad0e469854b811311c (patch) | |
tree | 3237f35279f1d168022a3c0854203784fc134ee6 /sound/soc/ux500 | |
parent | ASoC: soc-dai: Remove set_fmt_new callback (diff) | |
download | linux-28086d05ada6d03daa886aad0e469854b811311c.tar.xz linux-28086d05ada6d03daa886aad0e469854b811311c.zip |
ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local
The helper function snd_soc_component_is_codec is based off the
presence of the non_legacy_dai_naming flag. This isn't super robust
as CPU side components may also specify this flag, and indeed the
kernel already contains a couple that do. After componentisation there
isn't really a totally robust solution to identifying what is a CODEC
driver, without introducing a flag specifically for that purpose, and
really the desirable direction to move in is that the distinction
doesn't matter.
This patch does two things to try to mitigate these problems. Firstly,
now that all the other users of the helper function have been removed,
it makes the helper function local to the driver rather, than being
part of the core. This should help to discourage any new code from
being created that depends on the CODEC driver distinction. Secondly,
it updates the helper function itself to use the endianness flag
rather than the non_legacy_dai_naming flag. The endianness flag is
definitely invalid on a CPU side component, so it a more reliable
indicator that the device is definitely a CODEC. The vast majority of
buses require the CODEC to set the endianness flag, so the number of
corner cases should be fairly minimal. It is worth noting that CODECs
sending audio over SPI, or built into the CPU CODECs are potential
corner cases, however the hope is that in most cases those types of
devices do not consitute a simple audio card.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220519154318.2153729-57-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/ux500')
0 files changed, 0 insertions, 0 deletions