Hi Baoquan, On Fri, 2023-07-14 at 07:59 +0800, Baoquan He wrote: > > > > In file included from ./include/linux/io.h:13, > > from drivers/clk/clk-fixed-mmio.c:13: > > drivers/clk/clk-fixed-mmio.c: In function 'fixed_mmio_clk_setup': > > ./arch/s390/include/asm/io.h:29:17: error: implicit declaration of function 'iounmap'; did you mean 'vunmap'? [-Werror=implicit-function-declaration] > > 29 | #define iounmap iounmap > > | ^~~~~~~ > > drivers/clk/clk-fixed-mmio.c:33:9: note: in expansion of macro 'iounmap' > > 33 | iounmap(base); > > | ^~~~~~~ > > These iorempa/iounmap not defined or declared are not related to my > patches. S390 could set CONFIG_PCI=n, however its ioremap/iounmap code > are all defined in arch/s390/pci/pci.c. Means its ioremap/iounmap code > depends on CONFIG_PCI enabling. So those drivers invoking iomem > functions, (e.g ioremap(), devm_ioremap(), etc) all will be failed to > build if CONFIG_PCI=n on s390. > > All these errors have been fixed in my another patchset. > > https://lore.kernel.org/all/20230707135852.24292-1-bhe@xxxxxxxxxx/T/#u Sorry for the duplicate reports and late reply. We searched the log of kernel test robot and got the following clues for this case: This is a randconfig build test, so the kconfig happened to set CONFIG_PCI=n and CONFIG_COMMON_CLK_FIXED_MMIO=y, and it is good to build the clk-fixed-mmio driver in such case before, but it raises a build error after applying your patches, so the bot thought that a new build error was introduced and sent reports to you. == without the patches (v6.5-rc1 as example) == $ git checkout v6.5-rc1 HEAD is now at 06c2afb862f9 Linux 6.5-rc1 $ grep -e CONFIG_PCI -e CONFIG_COMMON_CLK_FIXED_MMIO .config # CONFIG_PCI is not set CONFIG_COMMON_CLK_FIXED_MMIO=y $ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross LLVM_IAS=1 W=1 ARCH=s390 drivers/clk/clk-fixed-mmio.o ... $ file drivers/clk/clk-fixed-mmio.o drivers/clk/clk-fixed-mmio.o: ELF 64-bit MSB relocatable, IBM S/390, version 1 (SYSV), not stripped == with the patches == $ git checkout b0f683e34a5b HEAD is now at b0f683e34a5b s390: mm: convert to GENERIC_IOREMAP $ grep -e CONFIG_PCI -e CONFIG_COMMON_CLK_FIXED_MMIO .config # CONFIG_PCI is not set CONFIG_COMMON_CLK_FIXED_MMIO=y $ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ./make.cross LLVM_IAS=1 W=1 ARCH=s390 drivers/clk/clk-fixed-mmio.o ... drivers/clk/clk-fixed-mmio.c:33:2: error: call to undeclared function 'iounmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 33 | iounmap(base); | ^ ./arch/s390/include/asm/io.h:29:17: note: expanded from macro 'iounmap' 29 | #define iounmap iounmap | ^ drivers/clk/clk-fixed-mmio.c:33:2: note: did you mean 'vunmap'? ./arch/s390/include/asm/io.h:29:17: note: expanded from macro 'iounmap' 29 | #define iounmap iounmap | ^ ./include/linux/vmalloc.h:167:13: note: 'vunmap' declared here 167 | extern void vunmap(const void *addr); | ^ 12 warnings and 1 error generated. make[4]: *** [scripts/Makefile.build:243: drivers/clk/clk-fixed-mmio.o] Error 1 make[3]: *** [scripts/Makefile.build:477: drivers/clk] Error 2 make[3]: Target 'drivers/clk/clk-fixed-mmio.o' not remade because of errors. make[2]: *** [scripts/Makefile.build:477: drivers] Error 2 make[2]: Target 'drivers/clk/clk-fixed-mmio.o' not remade because of errors. make[1]: *** [/home/yujie/linux/Makefile:2020: .] Error 2 make[1]: Target 'drivers/clk/clk-fixed-mmio.o' not remade because of errors. make: *** [Makefile:234: __sub-make] Error 2 make: Target 'drivers/clk/clk-fixed-mmio.o' not remade because of errors. After applying the patchset at https://lore.kernel.org/all/20230707135852.24292-1-bhe@xxxxxxxxxx, above situation cannot happen anymore because CONFIG_PCI and CONFIG_COMMON_CLK_FIXED_MMIO can only be both enabled or both disabled, so the issue has been resolved. Best Regards, Yujie