ASoC: soc-component: Add legacy_dai_naming flag
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 23 Jun 2022 12:51:15 +0000 (13:51 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 27 Jun 2022 12:16:14 +0000 (13:16 +0100)
Historically, the legacy DAI naming scheme was applied to platform
drivers and the newer scheme to CODEC drivers. During componentisation
the core lost the knowledge of if a driver was a CODEC or platform, they
were all now components. To continue to support the legacy naming on
older platform drivers a flag was added to the snd_soc_component_driver
structure, non_legacy_dai_naming, to indicate to use the new scheme and
this was applied to all CODECs as part of the migration.

However, a slight issue appears to be developing with respect to this
flag being opt in for the non-legacy scheme, which presumably we want to
be the primary scheme used. Many codec drivers appear to forget to
include this flag:

  grep -l -r "snd_soc_component_driver" sound/soc/codecs/*.c |
  xargs grep -L "non_legacy_dai_naming" | wc
     48      48    556

It would seem more sensible to change the flag to legacy_dai_naming
making the new scheme opt out. As a first step this patch adds a new
flag for this so that the users can be updated.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220623125250.2355471-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-component.h

index 5c4cfa7..96c2f5f 100644 (file)
@@ -179,6 +179,7 @@ struct snd_soc_component_driver {
         * analogue).
         */
        unsigned int endianness:1;
+       unsigned int legacy_dai_naming:1;
        unsigned int non_legacy_dai_naming:1;
 
        /* this component uses topology and ignore machine driver FEs */