2021-01-11 14:48:54

by Pawel Laszczak

[permalink] [raw]
Subject: [PATCH] usb: cdnsp: fixes undefined reference to cdns_remove

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 <[email protected]>
Signed-off-by: Pawel Laszczak <[email protected]>
---
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

--
2.17.1


2021-01-11 17:19:30

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] usb: cdnsp: fixes undefined reference to cdns_remove

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 <[email protected]>
> Signed-off-by: Pawel Laszczak <[email protected]>

Yep, that works. Thanks.

Acked-by: Randy Dunlap <[email protected]> # build-tested


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

2021-01-12 11:03:24

by Peter Chen

[permalink] [raw]
Subject: RE: [PATCH] usb: cdnsp: fixes undefined reference to cdns_remove


>
> 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 <[email protected]>
> > Signed-off-by: Pawel Laszczak <[email protected]>
>
> Yep, that works. Thanks.
>
> Acked-by: Randy Dunlap <[email protected]> # 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

2021-01-12 23:18:12

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] usb: cdnsp: fixes undefined reference to cdns_remove

Hi Pawel,

On Tue, Jan 12, 2021 at 8:17 AM Pawel Laszczak <[email protected]> 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 <[email protected]>
> Signed-off-by: Pawel Laszczak <[email protected]>

Thanks for your patch!

[email protected] 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 -- [email protected]

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