On Wednesday 03 February 2016 19:54:02 Felipe Balbi wrote:
> 
> hi,
> 
> Bin Liu <[email protected]> writes:
> > On Wed, Jan 20, 2016 at 11:56:34AM +0100, Arnd Bergmann wrote:
> >> The phy-am335x driver accidentally selects 'USB_COMMON', which is
> >> not correct as that symbol should indicate whether USB host or
> >> target mode is enabled, but it might not:
> >> 
> >> warning: (AM335X_PHY_USB) selects USB_COMMON which has unmet direct 
> >> dependencies (USB_SUPPORT && (USB || USB_GADGET))
> >
> > Is it possible to have a .config which has either USB nor USB_GADGET
> > set but AM335X_PHY_USB is set to be in the situation as in the warning
> > above?
> >
> >> 
> >> This changes the 'select' into 'depends on', as it should have
> >> been initially.
> >
> > Using 'depends on' causes AM335x_PHY_USB driver unable to built-in,
> > since USB_COMMON is an invisible option and its defualt is 'M'.
> 
> 
> yeah, USB_COMMON is supposed to be selected, not depended upon.


That means we should do something like the patch below?

Fine with me too, but maybe you can write the changelog for that,
as I don't know the background behind the logic.

        Arnd

diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index e7e117d5dbbe..df005f5a0e0c 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -249,7 +249,8 @@ config PHY_SUN9I_USB
        tristate "Allwinner sun9i SoC USB PHY driver"
        depends on ARCH_SUNXI && HAS_IOMEM && OF
        depends on RESET_CONTROLLER
-       depends on USB_COMMON
+       depends on USB_SUPPORT
+       select USB_COMMON
        select GENERIC_PHY
        help
          Enable this to support the transceiver that is part of Allwinner
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 8ed451dd651e..8689dcba5201 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -31,8 +31,6 @@ if USB_SUPPORT
 
 config USB_COMMON
        tristate
-       default y
-       depends on USB || USB_GADGET
 
 config USB_ARCH_HAS_HCD
        def_bool y
@@ -41,6 +39,7 @@ config USB_ARCH_HAS_HCD
 config USB
        tristate "Support for Host-side USB"
        depends on USB_ARCH_HAS_HCD
+       select USB_COMMON
        select NLS  # for UTF-8 strings
        ---help---
          Universal Serial Bus (USB) is a specification for a serial bus
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index af5d922a8f5d..2057add439f0 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -15,6 +15,7 @@
 
 menuconfig USB_GADGET
        tristate "USB Gadget Support"
+       select USB_COMMON
        select NLS
        help
           USB is a master/slave protocol, organized with one master

Reply via email to