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

Message ID 20201210162258.10289-1-pawell@cadence.com
State New
Headers show
Series
  • usb: cdnsp: Fix for undefined reference to `usb_hcd_is_primary_hcd'
Related show

Commit Message

Pawel Laszczak Dec. 10, 2020, 4:22 p.m.
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

Greg Kroah-Hartman Dec. 28, 2020, 2:42 p.m. | #1
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. | #2
> >

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

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