kernel/dma/coherent.c:82: undefined reference to `memunmap'

From: kernel test robot
Date: Sat Aug 13 2022 - 05:43:21 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 69dac8e431af26173ca0a1ebc87054e01c585bcc
commit: e61c451476e61450f6771ce03bbc01210a09be16 dma-mapping: Add dma_release_coherent_memory to DMA API
date: 7 weeks ago
config: s390-randconfig-r031-20220812 (https://download.01.org/0day-ci/archive/20220813/202208131746.fBYALPxR-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 5f1c7e2cc5a3c07cbc2412e851a7283c1841f520)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e61c451476e61450f6771ce03bbc01210a09be16
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e61c451476e61450f6771ce03bbc01210a09be16
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: kernel/dma/coherent.o: in function `dma_declare_coherent_memory':
kernel/dma/coherent.c:48: undefined reference to `memremap'
>> /opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: kernel/dma/coherent.c:82: undefined reference to `memunmap'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: kernel/dma/coherent.c:71: undefined reference to `memunmap'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: kernel/dma/coherent.o: in function `dma_release_coherent_memory':
>> kernel/dma/coherent.c:82: undefined reference to `memunmap'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: kernel/dma/coherent.o: in function `rmem_dma_device_init':
kernel/dma/coherent.c:48: undefined reference to `memremap'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: kernel/dma/coherent.c:71: undefined reference to `memunmap'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/dma/fsl-edma.o: in function `fsl_edma_probe':
drivers/dma/fsl-edma.c:302: undefined reference to `devm_ioremap_resource'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/dma/fsl-edma.c:327: undefined reference to `devm_ioremap_resource'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/dma/idma64.o: in function `idma64_platform_probe':
drivers/dma/idma64.c:644: undefined reference to `devm_ioremap_resource'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/dma/qcom/hidma.o: in function `hidma_probe':
drivers/dma/qcom/hidma.c:770: undefined reference to `devm_ioremap_resource'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/dma/qcom/hidma.c:777: undefined reference to `devm_ioremap_resource'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/char/xillybus/xillybus_of.o: in function `xilly_drv_probe':
drivers/char/xillybus/xillybus_of.c:50: undefined reference to `devm_platform_ioremap_resource'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_init':
drivers/clocksource/timer-of.c:159: undefined reference to `of_iomap'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/clocksource/timer-of.c:151: undefined reference to `iounmap'
/opt/cross/gcc-12.1.0-nolibc/s390x-linux/bin/s390x-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_cleanup':
drivers/clocksource/timer-of.c:151: undefined reference to `iounmap'


vim +82 kernel/dma/coherent.c

7bfa5ab6fa1b18 drivers/base/dma-coherent.c Marek Szyprowski 2014-10-13 76
e61c451476e614 kernel/dma/coherent.c Mark-PK Tsai 2022-04-22 77 static void _dma_release_coherent_memory(struct dma_coherent_mem *mem)
7bfa5ab6fa1b18 drivers/base/dma-coherent.c Marek Szyprowski 2014-10-13 78 {
7bfa5ab6fa1b18 drivers/base/dma-coherent.c Marek Szyprowski 2014-10-13 79 if (!mem)
7bfa5ab6fa1b18 drivers/base/dma-coherent.c Marek Szyprowski 2014-10-13 80 return;
6b03ae0d42bfec drivers/base/dma-coherent.c Brian Starkey 2016-03-22 81
6b03ae0d42bfec drivers/base/dma-coherent.c Brian Starkey 2016-03-22 @82 memunmap(mem->virt_base);
9fbd8dc19aa57e kernel/dma/coherent.c Christophe JAILLET 2021-10-24 83 bitmap_free(mem->bitmap);
7bfa5ab6fa1b18 drivers/base/dma-coherent.c Marek Szyprowski 2014-10-13 84 kfree(mem);
7bfa5ab6fa1b18 drivers/base/dma-coherent.c Marek Szyprowski 2014-10-13 85 }
7bfa5ab6fa1b18 drivers/base/dma-coherent.c Marek Szyprowski 2014-10-13 86

:::::: The code at line 82 was first introduced by commit
:::::: 6b03ae0d42bfecf2536f7967d37e471d98c0b3d2 drivers: dma-coherent: use MEMREMAP_WC for DMA_MEMORY_MAP

:::::: TO: Brian Starkey <brian.starkey@xxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://01.org/lkp