usb: cdnsp: fixes undefined reference to cdns_remove

Message ID 20210111144226.16372-1-pawell@cadence.com
State New
Headers show
Series
  • usb: cdnsp: fixes undefined reference to cdns_remove
Related show

Commit Message

Pawel Laszczak Jan. 11, 2021, 2:42 p.m.
Patch fixes the following errors:
ld: drivers/usb/cdns3/cdnsp-pci.o: in function `cdnsp_pci_remove':
cdnsp-pci.c:(.text+0x80): undefined reference to `cdns_remove'
ld: drivers/usb/cdns3/cdnsp-pci.o: in function `cdnsp_pci_probe':
cdnsp-pci.c:(.text+0x34c): undefined reference to `cdns_init'

Issue occurs for USB/CDNS3/CDNSP kernel configuration:
CONFIG_USB=m
CONFIG_USB_CDNS_SUPPORT=y
CONFIG_USB_CDNS3=m
CONFIG_USB_CDNS3_PCI_WRAP=m
CONFIG_USB_CDNSP_PCI=y

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

Comments

Peter Chen Jan. 12, 2021, 1:55 a.m. | #1
> 

> On 1/11/21 6:42 AM, Pawel Laszczak wrote:

> > Patch fixes the following errors:

> > ld: drivers/usb/cdns3/cdnsp-pci.o: in function `cdnsp_pci_remove':

> > cdnsp-pci.c:(.text+0x80): undefined reference to `cdns_remove'

> > ld: drivers/usb/cdns3/cdnsp-pci.o: in function `cdnsp_pci_probe':

> > cdnsp-pci.c:(.text+0x34c): undefined reference to `cdns_init'

> >

> > Issue occurs for USB/CDNS3/CDNSP kernel configuration:

> > CONFIG_USB=m

> > CONFIG_USB_CDNS_SUPPORT=y

> > CONFIG_USB_CDNS3=m

> > CONFIG_USB_CDNS3_PCI_WRAP=m

> > CONFIG_USB_CDNSP_PCI=y

> >

> > Reported-by: Randy Dunlap <rdunlap@infradead.org>

> > Signed-off-by: Pawel Laszczak <pawell@cadence.com>

> 

> Yep, that works. Thanks.

> 

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

> 


Applied it, thanks.

Peter
> 

> > ---

> >  drivers/usb/cdns3/Makefile | 4 ++++

> >  1 file changed, 4 insertions(+)

> >

> > diff --git a/drivers/usb/cdns3/Makefile b/drivers/usb/cdns3/Makefile

> > index 3f9b7fa8a594..be906910f98b 100644

> > --- a/drivers/usb/cdns3/Makefile

> > +++ b/drivers/usb/cdns3/Makefile

> > @@ -26,7 +26,11 @@ obj-$(CONFIG_USB_CDNS3_TI)			+=

> cdns3-ti.o

> >  obj-$(CONFIG_USB_CDNS3_IMX)			+= cdns3-imx.o

> >

> >  cdnsp-udc-pci-y					:= cdnsp-pci.o

> > +ifeq ($(CONFIG_USB),m)

> > +obj-m						+= cdnsp-udc-pci.o

> > +else

> >  obj-$(CONFIG_USB_CDNSP_PCI) 			+= cdnsp-udc-pci.o

> > +endif

> >  cdnsp-udc-pci-$(CONFIG_USB_CDNSP_GADGET)	+= cdnsp-ring.o

> cdnsp-gadget.o \

> >  						   cdnsp-mem.o cdnsp-ep0.o

> >

> >

> 

> 

> --

> ~Randy
Geert Uytterhoeven Jan. 12, 2021, 8:15 a.m. | #2
Hi Pawel,

On Tue, Jan 12, 2021 at 8:17 AM Pawel Laszczak <pawell@cadence.com> wrote:
> Patch fixes the following errors:

> ld: drivers/usb/cdns3/cdnsp-pci.o: in function `cdnsp_pci_remove':

> cdnsp-pci.c:(.text+0x80): undefined reference to `cdns_remove'

> ld: drivers/usb/cdns3/cdnsp-pci.o: in function `cdnsp_pci_probe':

> cdnsp-pci.c:(.text+0x34c): undefined reference to `cdns_init'

>

> Issue occurs for USB/CDNS3/CDNSP kernel configuration:

> CONFIG_USB=m

> CONFIG_USB_CDNS_SUPPORT=y

> CONFIG_USB_CDNS3=m

> CONFIG_USB_CDNS3_PCI_WRAP=m

> CONFIG_USB_CDNSP_PCI=y

>

> Reported-by: Randy Dunlap <rdunlap@infradead.org>

> Signed-off-by: Pawel Laszczak <pawell@cadence.com>


Thanks for your patch!

noreply@ellerman.id.au reports for m68k-allmodconfig:

drivers/usb/cdns3/cdnsp-pci.c:92:6: error: implicit declaration of
function 'pci_is_enabled'; did you mean 'pci_acs_enabled'?
[-Werror=implicit-function-declaration]
drivers/usb/cdns3/cdnsp-pci.c:166:6: error: implicit declaration of
function 'pci_dev_run_wake'; did you mean 'pci_enable_wake'?
[-Werror=implicit-function-declaration]
drivers/usb/cdns3/cdnsp-pci.c:248:1: error: type defaults to 'int' in
declaration of 'module_pci_driver' [-Werror=implicit-int]

> --- a/drivers/usb/cdns3/Makefile

> +++ b/drivers/usb/cdns3/Makefile

> @@ -26,7 +26,11 @@ obj-$(CONFIG_USB_CDNS3_TI)                   += cdns3-ti.o

>  obj-$(CONFIG_USB_CDNS3_IMX)                    += cdns3-imx.o

>

>  cdnsp-udc-pci-y                                        := cdnsp-pci.o

> +ifeq ($(CONFIG_USB),m)

> +obj-m                                          += cdnsp-udc-pci.o


This includes cdnsp-udc-pci.o even if CONFIG_USB_CDNSP_PCI=n,
causing the aforementioned build failure.

> +else

>  obj-$(CONFIG_USB_CDNSP_PCI)                    += cdnsp-udc-pci.o

> +endif

>  cdnsp-udc-pci-$(CONFIG_USB_CDNSP_GADGET)       += cdnsp-ring.o cdnsp-gadget.o \

>                                                    cdnsp-mem.o cdnsp-ep0.o

>


Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Patch

diff --git a/drivers/usb/cdns3/Makefile b/drivers/usb/cdns3/Makefile
index 3f9b7fa8a594..be906910f98b 100644
--- a/drivers/usb/cdns3/Makefile
+++ b/drivers/usb/cdns3/Makefile
@@ -26,7 +26,11 @@  obj-$(CONFIG_USB_CDNS3_TI)			+= cdns3-ti.o
 obj-$(CONFIG_USB_CDNS3_IMX)			+= cdns3-imx.o
 
 cdnsp-udc-pci-y					:= cdnsp-pci.o
+ifeq ($(CONFIG_USB),m)
+obj-m						+= cdnsp-udc-pci.o
+else
 obj-$(CONFIG_USB_CDNSP_PCI) 			+= cdnsp-udc-pci.o
+endif
 cdnsp-udc-pci-$(CONFIG_USB_CDNSP_GADGET)	+= cdnsp-ring.o cdnsp-gadget.o \
 						   cdnsp-mem.o cdnsp-ep0.o