On Wed, Apr 23, 2025 at 06:25:16PM +0200, Arnd Bergmann wrote: Hello Arnd, Thank you for the Fix. > From: Arnd Bergmann <arnd@xxxxxxxx> > > The j721e driver has a single platform driver that can be built-in or > a loadable module, but it calls two separate backend drivers depending > on whether it is a host or endpoint. > > If the two modes are not the same, we can end up with a situation where > the built-in pci-j721e driver tries to call the modular host or endpoint > driver, which causes a link failure: > > ld.lld-21: error: undefined symbol: cdns_pcie_ep_setup > >>> referenced by pci-j721e.c > >>> drivers/pci/controller/cadence/pci-j721e.o:(j721e_pcie_probe) in archive vmlinux.a > > ld.lld-21: error: undefined symbol: cdns_pcie_host_setup > >>> referenced by pci-j721e.c > >>> drivers/pci/controller/cadence/pci-j721e.o:(j721e_pcie_probe) in archive vmlinux.a > > Rework the dependencies so that the 'select' is done by the common > Kconfig symbol, based on which of the two are enabled. Effectively > this means that having one built-in makes the other either built-in > or disabled, but all configurations will now build. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Siddharth Vadapalli <s-vadapalli@xxxxxx> Regards, Siddharth.