On Thursday 20 November 2008, Lopez Cruz, Misael wrote: > > On Thursday 20 November 2008, mesak82@xxxxxxxxx wrote: > > > + tristate "SoC Audio support for Texas Instruments SDP3430" > > > + depends on SND_OMAP_SOC && MACH_OMAP_3430SDP > > > + select SND_OMAP_SOC_MCBSP > > > + select SND_SOC_TWL4030 > > > > depends also on TWL4030_CORE, yes? > The machine driver itself doesn't depend on TWL4030_CORE, but > TWL4030 SoC codec driver does (sound/soc/codecs/Kconfig) > > config SND_SOC_TWL4030 > tristate > depends on TWL4030_CORE > > Although that dependency is overridden by _select_ statement. No it isn't. Reverse dependencies don't work like you might expect ... even when there's no ambiguity in walking up a chain of them, *no* additional dependencies are flagged. So as you've written it, SND_SOC_TWL4030 will be active, but not TWL4030_CORE on which it depends. If you fix that in Kconfig, you'd make a lot of folk fairly happy ... but there'd be fun ambiguities to cope with. Example: config X select D config D depends on (A && B) || C It's not clear whether to enable both A and B; just C; or all of them... Probably asking the user to resolve such issues would be necessary. Coming up with all the solutions would be a bit more complex than a Prolog interpreter, since Kconfig uses tristate logic not boolean. > What should be the best way to handle this dependency? Directly > in kconfig entry for each TWL4030-related machine driver? The least error-prone answer involves no "select" statements at all, ever. That is, least error-prone in terms of the output of Kconfig being a valid configuration ... in terms of minimizing user error, I suggest just adding the single dependency I mentioned. - Dave -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html