On 03/08/2013 04:08 PM, Arnd Bergmann wrote: > On Friday 08 March 2013, Stephen Warren wrote: >> Yes, I think it should instead work like: >> >> ARCH_TEGRA* selects nothing in particular related to USB. >> >> The Tegra EHCI controller Kconfig depends on ARCH_TEGRA so it doesn't >> show up for other builds. > > Yes, that's fine. > >> I hope it's OK for the EHCI controller to select USB_ARCH_HAS_EHCI? > > I think that would create a circular dependency, which Kconfig will > refuse. We talked about the USB_ARCH_HAS_* Kconfig symbols recently > and Alan Stern agreed to my suggestion of removing all of them, > reworking the logic so we can always enable USB and EHCI but even > when there is no bus glue enabled. > > I'll have to do a proper patch one of these days, or find someone in > my team to do it right for all the corner cases. > >> The Tegra PHY Kconfig probably shouldn't be user-visible (relying on >> being selected by the Tegra EHCI controller) and itself selects >> anything it relies on. >> >> Does that sound reasonable? > > It is often safer to express the logic using "depends on" than using > "select", e.g. doing > > config USB_EHCI_TEGRA > bool "EHCI support for NVIDIA Tegra" > depends on USB_EHCI_HCD > depends on ARCH_TEGRA > > config USB_ULPI_VIEWPORT > def_bool y > depends on USB_EHCI_TEGRA > > If USB_ULPI_VIEWPORT has any other dependencies, the best solution > in the above scenario is to make USB_EHCI_TEGRA depend on those. USB_ULPI_VIEWPORT is, AFAIK, a generic piece of infra-structure that USB_EHCI_TEGRA depends upon. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html