SND_SOC_DM365_VOICE_CODEC is a 'bool' option in a choice statement,
meaning it cannot be set to =m, but it selects two other drivers
that we may want to be loadable modules after all:
WARNING: unmet direct dependencies detected for SND_SOC_CQ0093VC
  Depends on [m]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m]
  Selected by [y]:
  - SND_SOC_DM365_VOICE_CODEC [=y] && <choice>
  Selected by [m]:
  - SND_SOC_ALL_CODECS [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && COMPILE_TEST [=y]
Add an intermediate symbol that sets SND_SOC_CQ0093VC and
MFD_DAVINCI_VOICECODEC to =m if SND_SOC=m.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20190920075046.3210393-1-arnd@arndb.de
Signed-off-by: Mark Brown <broonie@kernel.org>
 
 config SND_SOC_DM365_VOICE_CODEC
        bool "Voice Codec - CQ93VC"
-       select MFD_DAVINCI_VOICECODEC
-       select SND_SOC_CQ0093VC
        help
          Say Y if you want to add support for SoC On-chip voice codec
 endchoice
 
+config SND_SOC_DM365_VOICE_CODEC_MODULE
+       def_tristate y
+       depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC
+       select MFD_DAVINCI_VOICECODEC
+       select SND_SOC_CQ0093VC
+       help
+         The is an internal symbol needed to ensure that the codec
+         and MFD driver can be built as loadable modules if necessary.
+
 endmenu