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

From: Peter Chen
Date: Thu Dec 10 2020 - 03:53:42 EST


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