Peter, > >> >>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? > >I can recreate this issue. I will try to resolve it. config USB_CDNS3_HOST bool "Cadence USB3 host controller" - depends on USB=y || USB=USB_CDNS3 + depends on USB=USB_CDNS3 select USB_CDNS_HOST help Say Y here to enable host controller functionality of the @@ -110,7 +110,7 @@ config USB_CDNSP_GADGET config USB_CDNSP_HOST bool "Cadence CDNSP host controller" - depends on USB=y || USB=USB_CDNSP_PCI + depends on USB=USB_CDNSP_PCI select USB_CDNS_HOST help Say Y here to enable host controller functionality of the Peter, what about such change. It fix this issue but I need to check It with some other kernel configurations. At this moment it's the only solution which I've found but it's introduces some limitation in CDNS3/CDNSP configuration. > >> >>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 Pawel Laszczak