Thread (5 messages) 5 messages, 3 authors, 2021-06-18

Re: [next] [arm64] allmodconfig build failed - xhci-plat.c:427: undefined reference to `onboard_hub_destroy_pdevs'

From: Matthias Kaehlcke <mka@chromium.org>
Date: 2021-06-17 18:16:29
Also in: linux-kbuild, lkml

On Thu, Jun 17, 2021 at 03:45:57PM +0200, Greg Kroah-Hartman wrote:
On Thu, Jun 17, 2021 at 07:09:15PM +0530, Naresh Kamboju wrote:
quoted
The arm64 allmodconfig build failed on Linux next 20210617 tag due to
the commit,

c950686b382d ("usb: host: xhci-plat: Create platform device for
onboard hubs in probe()")

build error:
------------
aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
`xhci_plat_remove':
drivers/usb/host/xhci-plat.c:427: undefined reference to
`onboard_hub_destroy_pdevs'
drivers/usb/host/xhci-plat.c:427:(.text+0x82c): relocation truncated
to fit: R_AARCH64_CALL26 against undefined symbol
`onboard_hub_destroy_pdevs'
aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
`xhci_plat_probe':
drivers/usb/host/xhci-plat.c:379: undefined reference to
`onboard_hub_create_pdevs'
drivers/usb/host/xhci-plat.c:379:(.text+0x131c): relocation truncated
to fit: R_AARCH64_CALL26 against undefined symbol
`onboard_hub_create_pdevs'
make[1]: *** [Makefile:1252: vmlinux] Error 1
make[1]: Target '__all' not remade because of errors.
make: *** [Makefile:222: __sub-make] Error 2
make: Target '__all' not remade because of errors.
Matthias, this is due to your patch, yet-another config option mis-match
somewhere. Can you please fix it up?
I can repro this with:

make -j 16 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
  KCONFIG_ALLCONFIG=arch/arm64/configs/defconfig allmodconfig kernel modules

This results in:

CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_ONBOARD_HUB=m

The following Kconfig dependency was supposed to prevent this scenario:

config USB_XHCI_PLATFORM
        depends on USB_ONBOARD_HUB || !USB_ONBOARD_HUB

But apparently this isn't the case.

With the above allmodconfig command the following warning is emitted:

WARNING: unmet direct dependencies detected for USB_XHCI_PLATFORM
  Depends on [m]: USB_SUPPORT [=y] && USB [=y] && USB_XHCI_HCD [=y] && (USB_ONBOARD_HUB [=m] || !USB_ONBOARD_HUB [=m])

I read through kconfig-language.rst multiple times, but it's still not
clear to me how to specify this dependency properly.

Masahiro/Greg, do you have any pointers?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help