Re: irq-loongson-pch-pic.c:undefined reference to `of_iomap'

From: Arnd Bergmann
Date: Mon Nov 16 2020 - 04:21:46 EST


On Mon, Nov 16, 2020 at 9:37 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> On Mon, Nov 16, 2020 at 9:33 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> > On Mon, Nov 16, 2020 at 5:33 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> > > On 11/13/20 3:27 PM, kernel test robot wrote:
> > (adding s390 folks to cc)
> >
> > I think fixing this requires a larger-scale effort. I tried building
> > an s390 allmodconfig
> > with CONFIG_PCI disabled, and got warnings and failures in many other places,
> > see full log at the end of this mail.
> >
> > While in theory, all of those should depend on 'HAS_IOMEM' or some other symbol,
> > keeping these dependencies sounds like an uphill battle, and there is not much
> > to be gained from building the drivers for s390 on top of compile-testing them
> > on more conventional architectures.
>
> Don't we need the dependencies on HAS_IOMEM for the CONFIG_UML=y
> case, too?

I would have expected that as well, but I don't see the problem when building
an arch/um kernel, all I get is

ERROR: modpost: "devm_platform_ioremap_resource"
[drivers/iio/adc/adi-axi-adc.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource"
[drivers/ptp/ptp_ines.ko] undefined!
ERROR: modpost: "devm_ioremap_resource"
[drivers/net/ethernet/xilinx/xilinx_emac.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource_byname"
[drivers/net/ethernet/xilinx/ll_temac.ko] undefined!
ERROR: modpost: "devm_ioremap"
[drivers/net/ethernet/xilinx/ll_temac.ko] undefined!
ERROR: modpost: "devm_of_iomap"
[drivers/net/ethernet/xilinx/ll_temac.ko] undefined!
ERROR: modpost: "__open64_2" [fs/hostfs/hostfs.ko] undefined!

If I disable those five drivers, I can build and link a uml kernel without
warnings. I could not find the difference compared to s390 here.

Looking a bit further, I now find that we ended up disabling CONFIG_COMPILE_TEST
entirely for arch/um, which is clearly an option that would also work for s390.

Arnd