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 <rdunlap@xxxxxxxxxxxxx> -- Thanks, Peter Chen