diff mbox series

usb: cdnsp: Fix for undefined reference to `usb_hcd_is_primary_hcd'

Message ID 20201210162258.10289-1-pawell@cadence.com (mailing list archive)
State Accepted
Commit 826a9584d14a7561f44eac86fe7d3c75c6bd2ad9
Headers show
Series usb: cdnsp: Fix for undefined reference to `usb_hcd_is_primary_hcd' | expand

Commit Message

Pawel Laszczak Dec. 10, 2020, 4:22 p.m. UTC
Patch fixes the following compilation error:

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);

Issue occurrd for following kernel configuration:
CONFIG_USB_GADGET=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
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

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
---
 drivers/usb/cdns3/Makefile | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Randy Dunlap Dec. 10, 2020, 4:50 p.m. UTC | #1
On 12/10/20 8:22 AM, Pawel Laszczak wrote:
> Patch fixes the following compilation error:
> 
> 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);
> 
> Issue occurrd for following kernel configuration:
> CONFIG_USB_GADGET=y
> CONFIG_USB_SUPPORT=y
> CONFIG_USB_COMMON=y
> 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
> 
> Signed-off-by: Pawel Laszczak <pawell@cadence.com>
> Reported-by: Randy Dunlap <rdunlap@infradead.org>

Works for me. Thanks.

Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested


> ---
>  drivers/usb/cdns3/Makefile | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/cdns3/Makefile b/drivers/usb/cdns3/Makefile
> index 01a9a9620044..3f9b7fa8a594 100644
> --- a/drivers/usb/cdns3/Makefile
> +++ b/drivers/usb/cdns3/Makefile
> @@ -6,8 +6,13 @@ CFLAGS_cdnsp-trace.o				:= -I$(src)
>  cdns-usb-common-y				:= core.o drd.o
>  cdns3-y						:= cdns3-plat.o
>  
> -obj-$(CONFIG_USB_CDNS3)				+= cdns3.o
> +ifeq ($(CONFIG_USB),m)
> +obj-m						+= cdns-usb-common.o
> +obj-m						+= cdns3.o
> +else
>  obj-$(CONFIG_USB_CDNS_SUPPORT)			+= cdns-usb-common.o
> +obj-$(CONFIG_USB_CDNS3)				+= cdns3.o
> +endif
>  
>  cdns-usb-common-$(CONFIG_USB_CDNS_HOST) 	+= host.o
>  cdns3-$(CONFIG_USB_CDNS3_GADGET)		+= cdns3-gadget.o cdns3-ep0.o
>
Greg KH Dec. 28, 2020, 2:42 p.m. UTC | #2
On Thu, Dec 10, 2020 at 05:22:58PM +0100, Pawel Laszczak wrote:
> Patch fixes the following compilation error:
> 
> 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);
> 
> Issue occurrd for following kernel configuration:
> CONFIG_USB_GADGET=y
> CONFIG_USB_SUPPORT=y
> CONFIG_USB_COMMON=y
> 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
> 
> Signed-off-by: Pawel Laszczak <pawell@cadence.com>
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> ---
>  drivers/usb/cdns3/Makefile | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)

Doesn't apply to 5.11-rc1 :(
Peter Chen Dec. 29, 2020, 12:53 a.m. UTC | #3
> >
> > Issue occurrd for following kernel configuration:
> > CONFIG_USB_GADGET=y
> > CONFIG_USB_SUPPORT=y
> > CONFIG_USB_COMMON=y
> > 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
> >
> > Signed-off-by: Pawel Laszczak <pawell@cadence.com>
> > Reported-by: Randy Dunlap <rdunlap@infradead.org>
> > ---
> >  drivers/usb/cdns3/Makefile | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> Doesn't apply to 5.11-rc1 :(

Hi Greg,

Cadence USB3 goes to my tree, and the related patches were already at my tree.

Peter
diff mbox series

Patch

diff --git a/drivers/usb/cdns3/Makefile b/drivers/usb/cdns3/Makefile
index 01a9a9620044..3f9b7fa8a594 100644
--- a/drivers/usb/cdns3/Makefile
+++ b/drivers/usb/cdns3/Makefile
@@ -6,8 +6,13 @@  CFLAGS_cdnsp-trace.o				:= -I$(src)
 cdns-usb-common-y				:= core.o drd.o
 cdns3-y						:= cdns3-plat.o
 
-obj-$(CONFIG_USB_CDNS3)				+= cdns3.o
+ifeq ($(CONFIG_USB),m)
+obj-m						+= cdns-usb-common.o
+obj-m						+= cdns3.o
+else
 obj-$(CONFIG_USB_CDNS_SUPPORT)			+= cdns-usb-common.o
+obj-$(CONFIG_USB_CDNS3)				+= cdns3.o
+endif
 
 cdns-usb-common-$(CONFIG_USB_CDNS_HOST) 	+= host.o
 cdns3-$(CONFIG_USB_CDNS3_GADGET)		+= cdns3-gadget.o cdns3-ep0.o