Re: [PATCH] usb: phy-am335x: clarify USB_COMMON dependency

From: Felipe Balbi
Date: Wed Feb 03 2016 - 17:04:31 EST



Hi,

Arnd Bergmann <arnd@xxxxxxxx> 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

looks great to me. Care to send it in proper patch form ?

--
balbi

Attachment: signature.asc
Description: PGP signature