Subject: Re: linux-next: Tree for Dec 9 (usb/cdns3)

From: Peter Chen <[email-masked]>
Date: Thu, 10 Dec 2020 08:52:17 +0000

On 20-12-09 16:58:16, Randy Dunlap wrote:
> On 12/9/20 2:44 AM, Stephen Rothwell wrote:
> > Hi all,
> > 
> > Changes since 20201208:
> > 
> 
> (I don't know what to do about this one -- seeking help.)

Add Pawel.

Hi Pawel,

Add old cdns3 logic, when the CONFIG_USB=m
If CONFIG_USB_CDNS3 is M, the host will be built as module
If CONFIG_USB_CDNS3 is build-in, the host will not built due to
USB=m, so USB!= USB_CDNS3 at below dependency.

config USB_CDNS3_HOST
	bool "Cadence USB3 host controller"
	depends on USB=y || USB=USB_CDNS3

So, it has no such issue.

But after adding CDNSSP support, the configuration relationship is
much complicated, both CDNS3 and CDNSSP could choose host file,
would you have a check for this issue?

Peter

> 
> 
> on x86_64:
> 
> ld: drivers/usb/cdns3/host.o: in function `xhci_cdns3_suspend_quirk':
> host.c:(.text+0x9): undefined reference to `usb_hcd_is_primary_hcd'
> 
> This reference to 'usb_hdc_is_primary_hcd' is from hcd_to_xhci(),
> which is being built as a loadable module:
> 
> int xhci_cdns3_suspend_quirk(struct usb_hcd *hcd)
> {
> 	struct xhci_hcd	*xhci = hcd_to_xhci(hcd);
> 
> 
> 
> 
> CONFIG_USB_GADGET=y
> CONFIG_USB_SUPPORT=y
> CONFIG_USB_COMMON=y
> # CONFIG_USB_CONN_GPIO is not set
> CONFIG_USB_ARCH_HAS_HCD=y
> CONFIG_USB=m
> 
> CONFIG_USB_CDNS_SUPPORT=y
> CONFIG_USB_CDNS_HOST=y
> CONFIG_USB_CDNS3=m
> CONFIG_USB_CDNS3_GADGET=y
> CONFIG_USB_CDNS3_HOST=y
> 
> Problem is mostly that CONFIG_USB=m and CONFIG_USB_GADGET=y.
> 
> 
> Full randconfig file is attached.
> 
> 
> thanks.
> -- 
> ~Randy
> Reported-by: Randy Dunlap <[email-masked]>

-- 

Thanks,
Peter Chen