lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 03 Feb 2016 22:08:02 +0100
From:	Arnd Bergmann <arnd@...db.de>
To:	Felipe Balbi <balbi@...nel.org>
Cc:	Bin Liu <b-liu@...com>, Felipe Balbi <balbi@...com>,
	balbif@...il.com, Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] usb: phy-am335x: clarify USB_COMMON dependency

On Wednesday 03 February 2016 19:54:02 Felipe Balbi wrote:
> 
> hi,
> 
> Bin Liu <b-liu@...com> 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ