Re: [linux-next:master 6272/9613] unittest.c:undefined reference to `of_dma_get_max_cpu_address'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/1/20 12:13 PM, Rob Herring wrote:
> On Tue, Dec 1, 2020 at 5:29 AM Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
>>
>> On Tue, Dec 01, 2020 at 05:32:51PM +0800, kernel test robot wrote:
>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
>>> head:   c6b11acc5f85b6e11d128fad8e0b7b223aa7e33f
>>> commit: 07d13a1d6120d453c3c1f020578693d072deded5 [6272/9613] of: unittest: Add test for of_dma_get_max_cpu_address()
>>> config: s390-randconfig-r034-20201201 (attached as .config)
>>> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ac40a2d8f16b8a8c68fc811d67f647740e965cb8)
>>> 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/next/linux-next.git/commit/?id=07d13a1d6120d453c3c1f020578693d072deded5
>>>         git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>>>         git fetch --no-tags linux-next master
>>>         git checkout 07d13a1d6120d453c3c1f020578693d072deded5
>>>         # save the attached .config to linux build tree
>>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
>>>
>>> If you fix the issue, kindly add following tag as appropriate
>>> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>>    s390x-linux-gnu-ld: kernel/dma/coherent.o: in function `dma_declare_coherent_memory':
>>>    coherent.c:(.text+0xf8): undefined reference to `memunmap'
>>>    s390x-linux-gnu-ld: kernel/dma/coherent.o: in function `dma_init_coherent_memory':
>>>    coherent.c:(.text+0x174): undefined reference to `memremap'
>>>    s390x-linux-gnu-ld: coherent.c:(.text+0x344): undefined reference to `memunmap'
>>>    s390x-linux-gnu-ld: drivers/of/unittest.o: in function `of_unittest':
>>>>> unittest.c:(.init.text+0x120): undefined reference to `of_dma_get_max_cpu_address'
>>
>> Thanks for the report. I think it needs the diff below. If Rob/Nicolas
>> are ok with it, I'll add it to the arm64 tree (with some commit text):
>>
>> diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
>> index 98cc0163301b..799125ef66fc 100644
>> --- a/drivers/of/unittest.c
>> +++ b/drivers/of/unittest.c
>> @@ -871,6 +871,7 @@ static void __init of_unittest_changeset(void)
>>
>>  static void __init of_unittest_dma_get_max_cpu_address(void)
>>  {
>> +#ifdef CONFIG_OF_ADDRESS
> 
>        if (!IS_ENABLED(CONFIG_OF_ADDRESS))
>                return;
> 
> This once again makes me want to kill off HAS_IOMEM. Or at least
> always have a dummy ioremap() and friends for !HAS_IOMEM.

That would eliminate dozens of build errors on S390 when
# CONFIG_HAS_IOMEM is not set
# CONFIG_OF_ADDRESS is not set

>>         struct device_node *np;
>>         phys_addr_t cpu_addr;
>>
>> @@ -884,6 +885,7 @@ static void __init of_unittest_dma_get_max_cpu_address(void)
>>         unittest(cpu_addr == 0x4fffffff,
>>                  "of_dma_get_max_cpu_address: wrong CPU addr %pad (expecting %x)\n",
>>                  &cpu_addr, 0x4fffffff);
>> +#endif
>>  }
>>
>>  static void __init of_unittest_dma_ranges_one(const char *path,
>>
>> --
>> Catalin
> 


-- 
~Randy





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux