On 11/5/18, Andy Shevchenko andy.shevchenko@gmail.com wrote:
On Mon, Nov 5, 2018 at 7:19 PM Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com wrote:
We have this ("strange") lines over the drivers:
config BAR depends on FOO || FOO=n
which guarantees that FOO will be not module when BAR is built-in.
That's what I normally use, but I could not figure this one out. One problem is that SND_SOC_ALL_CODECS selects SND_SOC_HDAC_HDA, and SND_SOC_ALL_CODECS itself may be =m, causing the failure for SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=y.
It might work with a separate dummy symbol:
config SND_SOC_HDAC_HDA_FORCE tristate
depends on SND_SOC_ALL_CODECS != n
Forgot to mention that AFAIU above line is no-op in symbols which are hidden.
It's not. In this case, it will prevent SND_SOC_HDAC_HDA_FORCE from being turned on by the 'default ...' line. In other cases, it can generate a warning if you have a hidden symbol that is selected by some other symbol while the dependency is missing.
Arnd