Re: [PATCH v1 2/2] usb: chipidea: tegra: Select Tegra's PHY in Kconfig

From: Peter Chen
Date: Mon Dec 11 2017 - 21:56:09 EST


On Mon, Dec 11, 2017 at 04:09:44PM +0300, Dmitry Osipenko wrote:
> On 11.12.2017 13:04, Thierry Reding wrote:
> > On Mon, Dec 11, 2017 at 02:10:00AM +0300, Dmitry Osipenko wrote:
> >> UDC driver won't probe without Tegra's PHY, hence select it in the
> >> Kconfig.
> >>
> >> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> >> ---
> >> drivers/usb/chipidea/Kconfig | 1 +
> >> 1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig
> >> index 785f0ed037f7..2ef3b27ea72b 100644
> >> --- a/drivers/usb/chipidea/Kconfig
> >> +++ b/drivers/usb/chipidea/Kconfig
> >> @@ -27,6 +27,7 @@ config USB_CHIPIDEA_PCI
> >> config USB_CHIPIDEA_UDC
> >> bool "ChipIdea device controller"
> >> depends on USB_GADGET
> >> + select USB_TEGRA_PHY if ARCH_TEGRA
> >
> > This is kind of pointless given that USB_TEGRA_PHY originally was
> > automatically enabled if ARCH_TEGRA was enabled.
>
> Again, please take a closer look at the patches. USB_TEGRA_PHY was enabled if
> USB_EHCI_TEGRA was and not ARCH_TEGRA.
>
> > What do we gain by these two patches, other than maybe make the driver
> > buildable as a module?
>
> Firstly, tegra-phy is built only if ehci-tegra is built.
>
> Secondly, I think we need to enforce Tegra PHY to be compiled as built-in if one
> of ehci-tegra or chipidea drivers is built-in and the other is compiled as a module.

You may not bind controller driver with PHY driver in Kconfig, we need
to make sure the controller driver has no build error if the PHY driver
is not select. And if the PHY driver is not loaded, the controller
driver should return -EPROBE_DEFER for it.

--

Best Regards,
Peter Chen