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:	Fri, 27 May 2016 11:41:28 +0800
From:	Peter Chen <hzpeterchen@...il.com>
To:	Michal Suchanek <hramrach@...il.com>
Cc:	linux-sunxi@...glegroups.com, Peter Chen <Peter.Chen@....com>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Bin Liu <b-liu@...com>, Felipe Balbi <balbi@...nel.org>,
	linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] usb: select NOP_USB_XCEIV by drivers that require it

On Thu, May 26, 2016 at 07:25:23PM -0000, Michal Suchanek wrote:
> Hello,
> 
> I was updating my config by make oldconfig for a while and noticed that my USB
> OTG controller is not working. Apparently it grew dependency on NOP_USB_XCEIV
> over time.
> 
> Looking through defconfigs some have it included and some which seem in need of
> it don't.
> 
> Since the dependency is not obvious I think it would be better to select it
> where possible.

>From Documentation/kbuild/kconfig-language.txt
	In general use select only for non-visible symbols
	(no prompts anywhere) and for symbols with no dependencies.

But NOP_USB_XCEIV is a visible symbol and can be chosen, besides,
NOP_USB_XCEIV has already selected USB_PHY. Using select may cause
dependency problem in future, so unless it is necessary, use it
as least as possible.

If you are using new code, and it adds new dependency code, it is
reasonable you may need to update your defconfig.

Peter
> 
> Attaching a patch.
> 
> Thanks
> 
> Michal
> 
> 8<--------------------------------------------------------------------------
> NOP_USB_XCEIV is non-obvious dependency for MUSB and other drivers.
> 
> This is a virtual driver in the sense that there is no actual piece of
> hardware you can point at and say you did not include driver for this so
> it won't work.
> 
> So just change all depends on it to select.
> 
> Signed-off-by: Michal Suchanek <hramrach@...il.com>
> ---
>  drivers/usb/chipidea/Kconfig |  3 ++-
>  drivers/usb/musb/Kconfig     | 19 +++++++++++++------
>  drivers/usb/phy/Kconfig      |  2 ++
>  3 files changed, 17 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig
> index 3644a35..8d08ebd 100644
> --- a/drivers/usb/chipidea/Kconfig
> +++ b/drivers/usb/chipidea/Kconfig
> @@ -19,7 +19,8 @@ config USB_CHIPIDEA_OF
>  config USB_CHIPIDEA_PCI
>  	tristate
>  	depends on PCI
> -	depends on NOP_USB_XCEIV
> +	select NOP_USB_XCEIV
> +	select USB_PHY
>  	default USB_CHIPIDEA
>  
>  config USB_CHIPIDEA_UDC
> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
> index 886526b..91717b9 100644
> --- a/drivers/usb/musb/Kconfig
> +++ b/drivers/usb/musb/Kconfig
> @@ -66,7 +66,8 @@ comment "Platform Glue Layer"
>  config USB_MUSB_SUNXI
>  	tristate "Allwinner (sunxi)"
>  	depends on ARCH_SUNXI
> -	depends on NOP_USB_XCEIV
> +	select NOP_USB_XCEIV
> +	select USB_PHY
>  	depends on PHY_SUN4I_USB
>  	depends on EXTCON
>  	depends on GENERIC_PHY
> @@ -75,13 +76,15 @@ config USB_MUSB_SUNXI
>  config USB_MUSB_DAVINCI
>  	tristate "DaVinci"
>  	depends on ARCH_DAVINCI_DMx
> -	depends on NOP_USB_XCEIV
> +	select NOP_USB_XCEIV
> +	select USB_PHY
>  	depends on BROKEN
>  
>  config USB_MUSB_DA8XX
>  	tristate "DA8xx/OMAP-L1x"
>  	depends on ARCH_DAVINCI_DA8XX
> -	depends on NOP_USB_XCEIV
> +	select NOP_USB_XCEIV
> +	select USB_PHY
>  	depends on BROKEN
>  
>  config USB_MUSB_TUSB6010
> @@ -89,6 +92,7 @@ config USB_MUSB_TUSB6010
>  	depends on HAS_IOMEM
>  	depends on ARCH_OMAP2PLUS || COMPILE_TEST
>  	depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules
> +	# cannot select NOP_USB_XCEIV because of the dependency above
>  
>  config USB_MUSB_OMAP2PLUS
>  	tristate "OMAP2430 and onwards"
> @@ -99,7 +103,8 @@ config USB_MUSB_OMAP2PLUS
>  config USB_MUSB_AM35X
>  	tristate "AM35x"
>  	depends on ARCH_OMAP
> -	depends on NOP_USB_XCEIV
> +	select NOP_USB_XCEIV
> +	select USB_PHY
>  
>  config USB_MUSB_DSPS
>  	tristate "TI DSPS platforms"
> @@ -110,7 +115,8 @@ config USB_MUSB_DSPS
>  config USB_MUSB_BLACKFIN
>  	tristate "Blackfin"
>  	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
> -	depends on NOP_USB_XCEIV
> +	select NOP_USB_XCEIV
> +	select USB_PHY
>  
>  config USB_MUSB_UX500
>  	tristate "Ux500 platforms"
> @@ -118,7 +124,8 @@ config USB_MUSB_UX500
>  
>  config USB_MUSB_JZ4740
>  	tristate "JZ4740"
> -	depends on NOP_USB_XCEIV
> +	select NOP_USB_XCEIV
> +	select USB_PHY
>  	depends on MACH_JZ4740 || COMPILE_TEST
>  	depends on USB_MUSB_GADGET
>  	depends on USB_OTG_BLACKLIST_HUB
> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
> index c690474..a0bdfd3 100644
> --- a/drivers/usb/phy/Kconfig
> +++ b/drivers/usb/phy/Kconfig
> @@ -57,6 +57,8 @@ config NOP_USB_XCEIV
>  	  built-in with usb ip or which are autonomous and doesn't require any
>  	  phy programming such as ISP1x04 etc.
>  
> +	  Should be automatically selected by the relevant driver.
> +
>  config AM335X_CONTROL_USB
>  	tristate
>  
> -- 
> 2.8.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 

Best Regards,
Peter Chen

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ