On 11/5/18, Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
On Sun, Nov 04, 2018 at 10:45:17AM -0600, Pierre-Louis Bossart wrote:
So yes indeed we have to add a select HDAC_HDA statement under the SKYLAKE config - i just don't know of any other means to say "don't build HDAC_HDA as a module when SKYLAKE is buit-in"
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 default SND_SOC_INTEL_SKYLAKE select SND_SOC_HDAC_HDA
This would make SND_SOC_HDAC_HDA built-in even with SND_SOC_ALL_CODECS=m and SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=n
It seems a bit ugly, and would need some testing.
Arnd