On Mon, 05 Nov 2018 16:07:50 +0100, Arnd Bergmann wrote: > > On 11/5/18, Andy Shevchenko <andriy.shevche...@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.
The mixture of depends and select is often more confusing, so IMO, we should align with only select as Pierre's suggestion, in this particular case. thanks, Takashi